SqlDataAdapter与DataSet
来源:互联网 发布:名师讲堂软件下载 编辑:程序博客网 时间:2024/06/08 18:18
DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。
DataSet 是 ADO. NET 结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。DataSet 由一组 DataTable 对象组成:
dataset所有数据都加载在内存上执行的,可以提高数据访问速度,提高硬盘数据的安全性。极大的改善了程序运行的速度和稳定性。
因为DataSet可以看做是内存中的数据库,也因此可以说DataSet是数据表的集合,它可以包含任意多个数据表(DataTable),而且每一 DataSet中的数据表(DataTable)对应一个数据源中的数据表(Table)或是数据视图(View)。数据表实质是由行(DataRow)和 列(DataColumn)组成的集合为了保护内存中数据记录的正确性,避免并发访问时的读写冲突,DataSet对象中的DataTable负责维护每一条记录,分别保存记录的初始状态和当前状态。从这里可以看出DataSet是与只能存放单张数据表的Recordset是截然不同的概念。
DataSet对象的三大特性
(1) 独立性。DataSet独立于各种数据源。
(2) 离线(断开)和连接。
(3) DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。
DataSet使用方法
(1) 把数据库中的数据通过DataAdapter对象填充DataSet。
(2) 通过DataAdapter对象操作DataSet实现更新数据库。
(3) 把XML数据流或文本加载到DataSet
SqlDataAdapter是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射 Fill(它可更改DataSet中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet中的数据)来提供这一桥接。当SqlDataAdapter填充 DataSet时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。
问:什么是DataAdapter?
答:DataAdapter对象在DataSet与数据之间起桥梁作用
提示
你如果只需要执行SQL,就没必要用到DataAdapter
直接cmd.ExecuteNoQuery()就OK了
sqlDataadapter的作用是实现Dataset和DB之间的桥梁
比如将对DataSet的修改更新到数据库
如果只是执行一句SQL或SP,用SqlCommand的Execute系列方法就可以了
SqlDataAdapter的UpdateCommand的执行机制是
当调用SqlDataAdapter.Update()时,检查DataSet中的所有行,然后对每一个修改过的Row执行SqlDataAdapter.UpdateCommand
以就是说如果未修改DataSet重的数据,SqlDataAdapter.UpdateCommand是不可能执行的
0 0
- SqlDataAdapter与DataSet
- SqlDataAdapter与DataSet
- SqlDataAdapter与DataSet
- SqlDataAdapter与DataSet
- SqlDataAdapter与DataSet
- SqlDataAdapter 与 DataSet 的关系
- DataSet,SqlDataAdapter
- SqlDataReader 与SqlDataAdapter+DataSet 的区别
- DataSet 与SqlDataAdapter之…
- DataSet 与SqlDataAdapter之…
- DataSet 与SqlDataAdapter之…
- DataSet 与SqlDataAdapter之…
- C#中SqlDataAdapter与DataSet的使…
- DataSet,SqlDataAdapter,SqlCommand,SqlDataReader
- datatable,datareader,dataset,SqlDataAdapter
- SqlDataAdapter、DataSet、DataTable使用
- SqlDataReader SqlDataAdapter DataSet
- SqlDataAdapter和DataSet
- javascript:void(0)与return false的区别
- 给你5个数a,b,c,d,k。x属于[a,b]y属于[c,d]。 问你有多少对(x,y)的公约数为k
- 【机房合作】职责链模式计算消费时间
- c++实验5-求和
- list,set,map,数组间的相互转换
- SqlDataAdapter与DataSet
- java内部类之成员内部类、静态内部类
- POJ-3259 Wormholes(负权回路[Bellman-Ford])
- java 怎么判断文本内容的编码格式
- EntityFrame的简单实用
- centos配置lnmp环境详解及相关问题
- 船舶固定安装设备测量方法--自由移站法
- Mysql中约束详解
- 面向项目(五)—— #pragma