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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄珍 中级黑马   /  2012-4-6 18:09  /  5169 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

DataAdapter是干什么用的,与DataSet之间存在怎样的联系?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

8 个回复

倒序浏览
DataAdapter是用来争对一个记录集的操作方法集合。所谓方法集合就是提供了INSERTCOMMAND、DELETECOMMAND、UPDATECOMMAND、SELECTCOMMAND几种方法。主要负责对数据库的操作。
DataSet是一个记录集集合。除了多个记录集之外,还存在各个记录集之间的关系,并不是单纯的记录数据,还包含字段类型等等信息。对每条记录都保存记录的各种状态COPY,用以更新时生成更新数据。
DataAdapter是连接数据库的,
DataSet是保存数据的,保存在DataTable,可以从DataAdapter得到:dataAdapter.Fill(   dataSet   );
,也可以从XML中得到

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
DataAdapter是用来争对一个记录集的操作方法集合。所谓方法集合就是提供了INSERTCOMMAND、DELETECOMMAND、UPDATECOMMAND、SELECTCOMMAND几种方法。主要负责对数据库的操作。
DataSet是一个记录集集合。除了多个记录集之外,还存在各个记录集之间的关系,并不是单纯的记录数据,还包含字段类型等等信息。对每条记录都保存记录的各种状态COPY,用以更新时生成更新数据
DataAdapter是读数据库用的
DataSet是在内存中临时存放数据用的
DataAdapter是填充数据集(DataSet)用的
DataAdapter就是连接DATASET和数据库的桥梁

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 姜志钦 于 2012-4-7 07:13 编辑

Connection 对象负责连接数据库 --->DataAdapter对象负责数据集和数据库的联系--->数据集DataSet存放独立于数据源的数据。也就是我们要处理一次操作都要连接一次数据库,这样会占用很多资源,而DataSet数据集一次性把数据库的表加载到本地,在本地完成所有的增删改查动作,再用命令update返回保存到数据库。而且DataSet也可以使用数据库的视图筛选数据,用到的命令DataView dv=new DataView(DataSet中的表),dv.RowFilter("筛选条件")。
for example:我们一个工厂在生产一批产品,这批产品需要很多的原材料,这些原材料放在仓库,如果生产时用到一样材料就到仓库取一样,生产效率就低了,如果把所有材料一次性放到生产车间的暂存区(备料间),生产时取料就方便了。生产好的产品也放在车间的另一个暂存区,生产完再一次性拉到仓库。DataAdapter 和DataSet 就是执行这样一个功能,把我们程序处理用的数据一次性放到我们DataSet本地数据集里,DataAdapter 就好比从仓库运到生产暂存区的那辆货车。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
数据库好比是一个存放物体的总仓库  dataset是一个零时的仓库 dataadapter  就好比一个大货车将数据从总仓库拉到临时仓库

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
DataSet是一个在本地内存中存放从数据库中读出的数据集。可以使用它来经行离线(断开与数据库的连接)访问,这样就可以避免长时间占用数据库连接资源,因为数据库连接是一个和宝贵的资源,是有限的,使用DataSet就可以避免长时间占用数据库连接资源。让用户直接从本地的内存中就可以访问到从数据库返回的数据。
DataAdapter是数据库与DataSet的桥梁。使用它,就可以把数据库中返回的数据写入DataSet中。也可以把做过更改后的数据集给更新到数据库中。。。 像是一个媒婆。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
DataAdapter是卡车 它在断开模式下 负责从SQL数据库运送数据到内存并把数据装填到DateSet里面,
DateSet 就是内存中的一个“小数据库” 它里面是一张张的表。这个表来源于DataAdapter

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
pray 高级黑马 2014-4-26 03:12:16
8#

DataAdapter是卡车 它在断开模式下 负责从SQL数据库运送数据到内存并把数据装填到DateSet里面,
DateSet 就是内存中的一个“小数据库” 它里面是一张张的表。这个表来源于DataAdapter
回复 使用道具 举报
pray 高级黑马 2014-4-26 03:17:02
9#
切!(虽然仅仅一个字,却生动的表达了回复人的不屑于洒脱,反映出作者性格中的冷漠和无奈,以一种打酱油的心情冷眼旁观这世界,足以反应作者被社会冷漠氛围的影响,也反应了河蟹社会人们从敢怒不敢言的心情逐渐转变成不愿言,不想言知道无话可言的一种悲哀,深深的反映出现在网络审查之严厉,跨省之可怕,最后以感叹号结尾,点睛之笔,将文章升华为一切归于不言中,一切又有谁敢言的境界,用最精炼且安全的文字,表达了大家内心深处的抗争)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马