能不能用通俗的语言说说如何理解C#的DataSet/DataAaapter/DataReader
能不能用通俗的语言说说如何理解C#的DataSet/DataAaapter/DataReader能不能用通俗的语言说说如何理解C#的DataSet/DataAaapter...
能不能用通俗的语言说说如何理解C#的DataSet/DataAaapter/DataReader
能不能用通俗的语言说说如何理解C#的DataSet/DataAaapter/DataReader 展开
能不能用通俗的语言说说如何理解C#的DataSet/DataAaapter/DataReader 展开
4个回答
展开全部
你不可能总是通过SQL来访问数据库。有的时候需要把部分或者全部数据库取到内存中使用。
DataSet 就是数据库在内存中的表示。其中包含Tables(表示Table集合),和Relations(表示Table之间的关系的集合)。
其实就是把数据库的内容存在内存中。
一口气把数据库的内容取到DataSet中,这样,需要查询数据的时候就不用总频繁的去连接数据库了,只需要访问DataSet就可以了。当然缺点是这些数据可能会过期。
DbDataAdapter 是负责和数据库的联动,包括把数据库中的内容装入DataSet(DataTable),把DataSet的内容更新到数据库。在内部使用DbDataReader和DBCommand来实现。
DataReader负责读取数据,
DbCommand负责执行数据库命令(更新,删除),包括SQL和存储过程等。
DataSet -> DataTable DataRelaction (内存中表示数据库)
---------------
DbDataAdapter 负责中间联动
DbDataReader负责读 DbCommand负责命令
DbConnection负责连接
---------------
DataBase
DataSet 就是数据库在内存中的表示。其中包含Tables(表示Table集合),和Relations(表示Table之间的关系的集合)。
其实就是把数据库的内容存在内存中。
一口气把数据库的内容取到DataSet中,这样,需要查询数据的时候就不用总频繁的去连接数据库了,只需要访问DataSet就可以了。当然缺点是这些数据可能会过期。
DbDataAdapter 是负责和数据库的联动,包括把数据库中的内容装入DataSet(DataTable),把DataSet的内容更新到数据库。在内部使用DbDataReader和DBCommand来实现。
DataReader负责读取数据,
DbCommand负责执行数据库命令(更新,删除),包括SQL和存储过程等。
DataSet -> DataTable DataRelaction (内存中表示数据库)
---------------
DbDataAdapter 负责中间联动
DbDataReader负责读 DbCommand负责命令
DbConnection负责连接
---------------
DataBase
展开全部
DataSet可以理解是一个特定容器,容器就是用来装东西,特定就是他只能装DataTable,一个DataSet可以放一个或多个DataTable,通过名字或索引值可以访问这些Table。
DataAdapter是一个搬运工,活动与数据库和应用程序之间,在应用程序这边向DataAdapter指定要查询的信息(这些信息其实被封装到其他的类,比方说Command,Connection),它就可以按照这些信息对数据进行操作。如果操作类型是检索数据,他就可以把数据添加到DataSet中在返回应用程序这一端。
DataReader是对数据库检索操作的一种方式,在向数据库检索过程中它是不断的把数据一点一点的不间断的传回应用程序。这可以和DataAdapter形成对比,DataAdapter是在数据库端检索形成N个Table放到DataSet中,然后将DataSet传回到应用层,这样数据表的映像就在应用端的内存中,可在需要时直接取。而DataReader没有形成表的映射,这样,下次还想取相同的数据,只能再连一次数据库。于是有人称DataSet的方式是基于非连接方式,而DataReader是基于连接。
当然DataSet还有记录更新等等功能,也不是一句两句能说清楚。以后慢慢体会吧。
DataAdapter是一个搬运工,活动与数据库和应用程序之间,在应用程序这边向DataAdapter指定要查询的信息(这些信息其实被封装到其他的类,比方说Command,Connection),它就可以按照这些信息对数据进行操作。如果操作类型是检索数据,他就可以把数据添加到DataSet中在返回应用程序这一端。
DataReader是对数据库检索操作的一种方式,在向数据库检索过程中它是不断的把数据一点一点的不间断的传回应用程序。这可以和DataAdapter形成对比,DataAdapter是在数据库端检索形成N个Table放到DataSet中,然后将DataSet传回到应用层,这样数据表的映像就在应用端的内存中,可在需要时直接取。而DataReader没有形成表的映射,这样,下次还想取相同的数据,只能再连一次数据库。于是有人称DataSet的方式是基于非连接方式,而DataReader是基于连接。
当然DataSet还有记录更新等等功能,也不是一句两句能说清楚。以后慢慢体会吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataSet 数据集,相当于一个临时数据库,可以存放多张数据表,可以在数据库连接断开的情况下操作数据,必须靠DataAdapter对象的Fill()方法来填充数据.
DataAdapter 数据适配器,用来执行SQL语句,然后将查询到的数据填充到DataSet.
DataReader 数据读取器,返回值类型为Object类型,只能执行查询语句,将查询到的数据使用循环语句一行一行读出,只能通过Command对象的ExecuteReader()方法来创建。
DataAdapter 数据适配器,用来执行SQL语句,然后将查询到的数据填充到DataSet.
DataReader 数据读取器,返回值类型为Object类型,只能执行查询语句,将查询到的数据使用循环语句一行一行读出,只能通过Command对象的ExecuteReader()方法来创建。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataSet内包含一堆表(DataTable)
DataAaapter负责执行sql或存储过程,将得到的表装入DataSet,
DataReader也是装载数据表的容器,好处是不像DataSet那样缓存数据,用它速度更快
DataAaapter负责执行sql或存储过程,将得到的表装入DataSet,
DataReader也是装载数据表的容器,好处是不像DataSet那样缓存数据,用它速度更快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询