ADO.NET连接数据库的原理是什么?

问题描述

ADO.NET连接数据库的原理是什么?

解决方案

解决方案二:
我只会用,不知道,就像1+1=2的原理是什么,我不知道..苦B..
解决方案三:
这是老师留的一道题。找不到答案啊
解决方案四:
http://developer.51cto.com/art/200911/162930.htm
解决方案五:
这尼玛也深究啊,说白了也是C/S模式的请求与应答模型啊。你的应用程序对sqlserver来说是个客户端,你发送的sql执行命令,类似于请求。服务端(sqlserver)执行命令,返回给你数据或结果作为响应。类比下就好啦,至于协议什么的不会还要知道吧?可以是tcp/IP协议,配置的时候有的,还有什么通道等其他协议的。
解决方案六:
如果可能的话,可以看一下Ado.net底层的类的源代码。不过可能看不太懂,研究这个没多大意义。
解决方案七:
又当解剖学了其实当一件事情被规定出来以后他就没啥道理可言了。为啥中国人要过年,为啥cctv年年要春晚,为啥中国人要用筷子。其实根本没啥原理啊,为啥啊的问法。当第一人把oledb的规则定义出来以后,后面就已经没有为什么的了。你照着做就ok,如果真要问为什么,那你只能去问那个第一个人他为啥要这么做。估计八成也没答案(我为什么要看无聊的春晚,好像我说不出来为什么)
解决方案八:
引用6楼wanghui0380的回复:

(我为什么要看无聊的春晚,好像我说不出来为什么)

我已经N年没看春晚了,每当那个时候,我都是在写代码或者看书,btw:好像我也说不出来为什么
解决方案九:
既然是ado.net不知道你们老师为什么会问这个问题,如果是简单了解,可以看看MSDN:如果是真的去探究,那就要从ADO说起,你要了解到很多概念,诸如:RDO,DAO,OLEDB,ODBC,以及什么事数据提供者,等等,这个是在线的有关ADO的MSDN:
解决方案十:
这也太生硬了吧.....你们的老师也很有才啊!这样吧!把这个问题解开分成2部分或者更好理解1、什么是ADO.NET答:ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为DataProviders,并且通常是以与之交互的协议和数据源的类型来命名的。表1列处了一些常见的dataproviders,以及它们所使用的API前缀,和允许进行交互的数据源类型。2、数据源的连接枢纽答:这里得谈到它的对象了(必须的)ADO.NET包含的对象SqlConnection对象和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection对象会被command对象使用,这样就能够知道是在哪个数据库上面执行命令。与数据库交互的过程意味着你必须指明想要发生的操作。这是依靠command对象执行的。你使用command对象来发送SQL语句给数据库。command对象使用connection对象来指出与哪个数据库进行连接。你能够单独使用command对象来直接执行命令,或者将一个command对象的引用传递给SqlDataAdapter,它保存了一组能够操作下面描述的一组数据的命令。sqlDataReader对象许多数据操作要求你只是读取一串数据。datareader对象允许你获得从command对象的SELECT语句得到的结果。考虑性能的因素,从datareader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet。DataSet对象DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-childrelationships)。DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有DataProviders使用的对象,因此它并不像DataProvider一样需要特别的前缀。SqlDataAdapter对象某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Dataadapter通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Dataadapter填充(fill)DataSet对象。dataadapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,dataadapter包含对数据的SELECT,INSERT,UPDATE和DELETE操作的command对象引用。你将为DataSet中的每一个table都定义dataadapter,它将为你照顾所有与数据库的连接。所有你将做的工作是告诉dataadapter什么时候装载或者写入到数据库。总结:ADO.NET是与数据源交互的.NET技术。有许多的DataProviders,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。然而无论使用什么样的DataProvider,你将使用相似的对象与数据源进行交互。SqlConnection对象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读或者写入数据源的SqlDataAdapter。到此为止吧!希望能帮到你.要细究的话那还多着呢...
解决方案十一:
其实,如果是VS6,学习数据访问就必然要学到ADO,那么DAO,RDO,OLEDB,ODBC这些都是必学的,老师必然会在课堂上讲解这些数据访问的原理,ODBC作为更通行的数据访问接口,至今仍然广泛的应用在各个开放式平台和跨平台系统只不过,ADO.net是在ADO的基础上进化来的,微软平台使用ADO早已经是首选,所以连微软也不会像十几年前那样不厌其烦的介绍原理还要比较几种数据访问方案之间的差异我倒是觉得,如果是4年制学习软件专业,老师的要求也是无可厚非的
解决方案十二:
搞研究的话,可以深究
解决方案十三:
其实还真的没有必要深入研究,就好像计算机中所有的都是01

时间: 2024-09-19 15:43:28

ADO.NET连接数据库的原理是什么?的相关文章

ADO.NET 连接数据库字符串小结

ADO.NET  连接到 SQL Server  SQL Server .NET Framework 数据提供程序支持类似于 OLE DB (ADO) 连接字符串格式的连接字符串格式. 复制代码代码如下: using (SqlConnection connection = new SqlConnection(connectionString))  {  connection.Open();  // Do work here.  }  连接到 OLE DB 数据源  OLE DB .NET Fra

ADO.NET连接数据库出现 未与信任 SQL Server 连接相关联错误

问题描述 usingSystem.Text;usingSystem.Data.SqlClient;namespaceADO.NET{classProgram{staticvoidMain(string[]args){stringstr="DataSource=zcb-PC;InitialCatalog=Database1.mdf";using(SqlConnectionconnection=newSqlConnection(str))//connection.ConnectionStr

用ADO连接数据库的三种方法及其性能比较

ado|比较|连接数据库|性能    ADO连接数据库通常有三种方法:System DSN Connection,DSN-less Connection 和 OLE DB Connection,这是大家都很熟悉的,它们的使用方法如下:      (注:三种方法的区别在于使用的是哪个关键字 - DSN,Driver,Data Source,Provider.UID,PWD 是 ODBC 的标记,User ID,Password 是 OLEDB 的标记.特别指出的是 Data Source 在 OD

ADO连接数据库字符串大全(VP,Excel,文本,Sybase,.NET等)

ado|excel|连接数据库|字符串 ADO连接数据库字符串大全(VP,Excel,文本,Sybase,.NET等) This page contains sample ADO connection strings for ODBC DSN / DSN-Less,OLE DB Providers, Remote Data Services (RDS), MS Remote, MS DataShape. Also included are ADO.NET connection strings f

PHP通过ADO方式连接Access

PHP通过ADO方式连接Access数据库,如下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  &

ado.net-ADO.NET 如何连接 AlwaysOn里面的数据库?

问题描述 ADO.NET 如何连接 AlwaysOn里面的数据库? 我在一个虚拟网络里建了一个AlwaysOn的架构,也建立了一个Availability Group Listen叫"AGListenerstener". 现在的问题是我用ADO.NET连接数据库,结果连不上.SqlConnection初始化时提示"在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程

10多场不同的面试

面试分三个部分    第一部分是基础的数据结构知识        第一个题目 两个顺序单链表的合并        第二个题目 在主字符串中查找子字符串        第三个题目 广度优先二叉树的遍历    第二部分是程序设计部分        问题是:关于BT和P2P的软件下载原理和设计思想    第三部分是难度比较高的算法题目        有两个题目               题目一 byte[]的压缩方法?               题目二 有一个排序过的数组,现使用抛物线公式(y=a

mfc-为什么我的CRecordset的open方法要手动选择数据源?是哪里出了问题?

问题描述 为什么我的CRecordset的open方法要手动选择数据源?是哪里出了问题? CDatabase db; if( db.Open(_T("mysql5.1"),false,false,_T("ODBC;UID=root;pwd=19930318"),true)) { IrisRecordSet *pIrisRecordSet = new IrisRecordSet(); CString sql="select * from iris"

Odbc连SQL Server数据库的几种方法

odbc|server|数据|数据库 Odbc连SQL Server数据库的几种方法   这篇文章是针对在CSDN论坛 中的一些想知道这方面技术的网友而写的.因为最近我本人在论坛上看到很多网友提到这个问题,所以就写了这篇文章,以飨读者. SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成.也是今天市场上几种大型关系型数据库(SQL Server\Oracle ybase等)之一.对于今天复杂的B/S服务器系统来说,SQL