A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

几个对象搞混了,谁能详细说明下。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

5 个回复

正序浏览
在传智老师总结的基础上修改的,分享快乐
1.Connection 对象:主要是开启程序和数据库之间的连接.没有利用连接对象将数据库打开,是无法从数据库中取得数据的.Close 和 Dispose 的区别:Close 以后还可以 Open,Dispose 以后则不能再用。
2.Command 对象:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及调用存在数据库中的存储过程等.这个对象是架构在 Connection 对象上,也就是 Command 对象是透过连接到数据源的Connection对象来下达命令的。
3.DataAdapter 对象:主要是在数据源以及 DataSet 之间执行数据传输的工作,它可以透过 Command 对象下达命令后,并将取得的数据放入 DataSet 对象中。这个对象是架构在 Command 对象上,并提供了许多配合 DataSet 使用的功能。
4.DataSet 对象:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来(读取完毕即放弃数据库连接),甚至可以将整个数据库显示出来,DataSet 是放在内存中的.DataSet 的能力不只是可以储存多个 Table 而已,还可以透过DataAdapter 对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联. DataSet 对象可以说是ADO.Net 中重量级的对象,这个对象架构在 DataAdapter 对象上,本身不具备和数据源沟通的能力;也就是说我们是将 DataAdapter 对象当做 DataSet 对象以及数据源间传输数据的桥梁. DataSet 包含若干DataTable、DataTable 包含若干 DataRow。
5.DataReader 对象:当我们只需要循序的读取数据而不需要其它操作时,可以使用 DataReader 对象。DataReader 对象只是一次一笔向下循序的读取数据源中的数据(在线操作数据库),这些数据是存在数据库服务器中的,而不是一次性加载到程序的内存中的,只能(通过游标)读取当前行的数据 ,而且这些数据是只读的,并不允许作其它的操作.因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好.使用 DataReader 对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。
6.ADO.Net 使用 Connection 对象来连接数据库,使用 Command 或 DataAdapter 对象来执行 SQL 语句,并将执行的结果返回给 DataReader 或 DataAdapter ,然后再使用取得的 DataReader 或 DataAdapter 对象操作数据结果.
7.ADO.NET 存取数据的方式分为两种,一种是直接存取MS SQL Server 中的数据,另一种是透过OLE DB 来存取其它数据库中的数据。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
Connection 物件
   Connection 对象主要是开启程序和数据库之间的连结。没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在ADO.NET 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。

Command 物件
   Command 对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection 对象上,也就是Command 对象是透过连结到数据源


DataAdapter 物件
   DataSetCommand 对象主要是在数据源以及DataSet 之间执行数据传输的工作,它可以透过Command 对象下达命令后,并将取得的数据放入DataSet 对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet 使用的功能。在Beta 2 版中DataSetCommand 物件会更名为DataAdapter。

DataSet 物件
   DataSet 这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。DataSet 的能力不只是可以储存多个Table 而已,还可以透过DataSetCommand 对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet 对象可以说是ADO.NET 中重量级的对象,这个对象架构在DataSetCommand 对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataSetCommand 对象当做DataSet 对象以及数据源间传输数据的桥梁。

DataReader 物件
   当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader 对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用DataReader 对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
NET Framework数据提供程序包含了Connection ,Command, DataReader和DataAdapter 4个核心对象. Connection 对象提供和数据源的连接功能。 Command 对象用来运行相关的SQL命令,以读取或者修改数据库中的数据。DataReader 通过Command对象运行SQL查询命令取得数据流,以便进行高速只读的数据浏览。DataAdapter是DataSet对象和数据源沟通的桥梁,DataAdapter使用4个Command对象来运行查询,新建,修改,删除的sql命令,把数据加载到DataSet中,或者把DataSet内的数据送回数据源;
DataSet:DataSet数据集是ADO.NET离线数据访问模型中的核心对象,主要目的是在内存中暂存并处理各种从数据源中所取回的数据。DataSet其实就是一个存放在内存中的数据暂存区,这些数据必须通过DataAdapter对象与数据库进行数据交换。DataSet的作用就像内存中的数据库管理系统,因此在离线时,DataSet也能独自完成数据的新建,修改,删除,查询等操作,而不必一直局限在和数据库联机时才能做数据维护的工作。

工作过程:数据库通过Connection对象连接后,便可通过Command对象将SQL语句交由数据库引擎运行,并通过DataAdapter对象将数据查询的结果存放到离线的DataSet对象中,进行离线数据修改,对降低数据库联机负担具有极大的帮助。
访问流程:
建立Connection对象,创建一个数据库连接。
在建立连接的基础上可以使用Command对象对数据库发送查询,新增,修改和删除等命令;
创建DataAdapter对象,从数据库中取得数据。
创建DataSet对象,将DataAdapter对象填充到DataSet对象中。
最后关闭数据库;

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
Connection    :连接对象
Command     :命令对象,指示要执行的命令和存储过程
DataReader   :一个向前的只读的数据流。
DataAdapter  :功能强大的适配器,支持增删改查的功能
DataSet        :一个数据级对象,相当于内存中的一张表或多张表

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
Connection:主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是无法从数据库中取得数据的。Close和Dispose的区别,Close以后还可以Open,Dispose以后则不能再用。
Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及调用存在数据库中的存储过程等。这个对象是架构在Connection 对象上,也就是Command 对象是透过连接到数据源。
DataAdapter:主要是在数据源以及DataSet 之间执行数据传输的工作,它可以透过Command 对象下达命令后,并将取得的数据放入DataSet 对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet 使用的功能。
DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来,DataSet是放在内存中的。DataSet 的能力不只是可以储存多个Table 而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet 对象可以说是ADO.NET 中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet 对象以及数据源间传输数据的桥梁。DataSet包含若干DataTable、DataTableTable包含若干DataRow。
DataReader:当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader 对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,这些数据是存在数据库服务器中的,而不是一次性加载到程序的内存中的,只能(通过游标)读取当前行的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用DataReader 对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。
ADO.NET 使用Connection 对象来连接数据库,使用Command 或DataAdapter对象来执行SQL语句,并将执行的结果返回给DataReader 或 DataAdapter ,然后再使用取得的DataReader 或DataAdapter 对象操作数据结果。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马