在断开连接的环境中编辑和更新数据

上传人:可**** 文档编号:240113047 上传时间:2024-03-18 格式:PPTX 页数:23 大小:361.69KB
收藏 版权申诉 举报 下载
在断开连接的环境中编辑和更新数据_第1页
第1页 / 共23页
在断开连接的环境中编辑和更新数据_第2页
第2页 / 共23页
在断开连接的环境中编辑和更新数据_第3页
第3页 / 共23页
资源描述:

《在断开连接的环境中编辑和更新数据》由会员分享,可在线阅读,更多相关《在断开连接的环境中编辑和更新数据(23页珍藏版)》请在装配图网上搜索。

1、会计学1在断开连接的环境中编辑和更新数据在断开连接的环境中编辑和更新数据体验体验第1页/共23页DataAdapter简介简介 在在ADO.NET中,中,DataSet是数据在内存中的表示形是数据在内存中的表示形式,它提供了独立于数据源的关系编程模型。式,它提供了独立于数据源的关系编程模型。第2页/共23页.NET Framework.NET Framework中的中的中的中的DataAdapter DataAdapter 类类类类.NET Framework 2.0包括包括DataAdapter类类,如下下表所示。如下下表所示。DataAdapter 类类描述描述System.Data.Sq

2、lClient.SqlDataAdapterSQL Server.NET Framework数据提供程序数据提供程序DataAdapter类类System.Data.OleDbClient.OleDbDataAdapterOLE DB.NET Framework数据提供程序数据提供程序DataAdapter类类System.Data.Odbc.OdbcDataAdapterODBC.NET Framework数据提供程序数据提供程序DataAdapter类类System.Data.OracleClient.OracleDataAdapterOracle.NET Framework数据提供程序数

3、据提供程序DataAdapter类类第3页/共23页n n通过通过Visual Studio 2005创建创建DataAdapter n n通过编程方式创建通过编程方式创建DataAdapter 第4页/共23页通过编程方式创建通过编程方式创建通过编程方式创建通过编程方式创建DataAdapterDataAdapterSqlDataAdapter 构造函数支持四种重载。构造函数支持四种重载。此时所使用的重载此时所使用的重载 SqlDataAdapter(testCommand)允许在构造函数中指定带有有允许在构造函数中指定带有有效连接的命令。其他三种可用的重载如下效连接的命令。其他三种可用的重

4、载如下。SqlDataAdapter():设置:设置SqlDataAdapter的一个空实的一个空实例例SqlDataAdapter(string commandText,SqlConnection connection):允许指定用于填充:允许指定用于填充DataSet/DataTable的的命令(作为字符串)以及填充时将用到的连接命令(作为字符串)以及填充时将用到的连接SqlDataAdapter(string commandText,string connectionString):允许将命令和相关连接都作为字:允许将命令和相关连接都作为字符串来指定;符串来指定;第5页/共23页Data

5、Adapter的属性的属性 DataAdapter所提供的主要属性及其描述如下表所提供的主要属性及其描述如下表所示。所示。属性属性描述描述SelectCommand在数据源中检索数据的数据命令在数据源中检索数据的数据命令InsertCommand在数据源中插入数据的数据命令在数据源中插入数据的数据命令UpdateCommand在数据源中更新数据的数据命令在数据源中更新数据的数据命令DeleteCommand在数据源中删除数据的数据命令在数据源中删除数据的数据命令TableMappingsDataTableMapping 对象的集合,决定对象的集合,决定DataSet中的行与数据源之间的关系中的

6、行与数据源之间的关系UpdateBatchSize决定批进程支持,指出在批处理中可执决定批进程支持,指出在批处理中可执行的命令的数量行的命令的数量第6页/共23页DataAdapter的方法的方法 使用使用DataAdapter的的Fill()方法填充方法填充DataSetDataAdapter有两个重要的方法:有两个重要的方法:Fill()和和Update()。前者从数据源把数据加载至前者从数据源把数据加载至DataSet,后者把数据,后者把数据从从DataSet传回数据源。传回数据源。使用使用 DataAdapter的的Update()方法方法更新更新DataSet第7页/共23页更新数据

7、时的状态管理更新数据时的状态管理 在连接、获取、断开、修改、重新连接和持久保存更改在连接、获取、断开、修改、重新连接和持久保存更改等一系列过程中,可能需要考虑很多事情等一系列过程中,可能需要考虑很多事情。可能需要决定插入、删除或更新可能需要决定插入、删除或更新某某些行些行其他用户可能同时保存其更改,您在其他用户可能同时保存其更改,您在DataSet中所中所保存的查询数据可能已无效保存的查询数据可能已无效 为新插入的记录所生成的键值可能不正确为新插入的记录所生成的键值可能不正确 在设法进行更新之后,可能需要将当前数据的刷在设法进行更新之后,可能需要将当前数据的刷新版本取回应用程序新版本取回应用程

8、序第8页/共23页更新数据时的状态管理更新数据时的状态管理DataRowState枚举的各种枚举的各种值及其相应的含义如值及其相应的含义如下表所示下表所示。常量常量值值描述描述Detached1在任何给定时间,一个在任何给定时间,一个DataRow最多只能连接到最多只能连接到一个一个 DataTable。如果未连接到任何。如果未连接到任何 DataTable,则该行的状态为脱离则该行的状态为脱离UnChanged2此行从数据源获取,并且未进行任何更改此行从数据源获取,并且未进行任何更改Added4此行从数据源获取,并且已添加到此行从数据源获取,并且已添加到DataTable中。中。在在更新更新

9、期间,期间,DataAdapter将对其执行将对其执行InsertCommandDeleted8此行从数据源获取,然后从此行从数据源获取,然后从DataTable中删除。在中删除。在更新期间,更新期间,DataAdapter将对其执行将对其执行 DeleteCommandModified16此行从数据源获取,并且已经被修改过。在此行从数据源获取,并且已经被修改过。在更新更新期期间,数据适配器将对其执行间,数据适配器将对其执行UpdateCommand第9页/共23页创建并使用创建并使用SqlBulkCopy的步骤如下。的步骤如下。用用SqlBulkCopy移动大量数据移动大量数据 首先添加一个

10、新的控制台应用程序,并将其命名为首先添加一个新的控制台应用程序,并将其命名为SqlBulkCopy。第三行。第三行“张宇张宇”保持不变保持不变此应用程序的目的是演示在两个相同结构的表之间可此应用程序的目的是演示在两个相同结构的表之间可以相当快地复制数据以相当快地复制数据由于该应用程序操作的对象是同一个数据库,因此只由于该应用程序操作的对象是同一个数据库,因此只需要一个连接字符串;但是,需要两个不同的需要一个连接字符串;但是,需要两个不同的SqlConnection:一个用于:一个用于SqlBulkCopy将要读取的将要读取的DataReader,另一个用于,另一个用于 SqlBulkCopy

11、本身本身 应用程序的第二部分使用应用程序的第二部分使用SqlBulkCopy对象实例将从创对象实例将从创建的建的DataReader读取的数据插入员工副本表读取的数据插入员工副本表操作完成操作完成代码示例代码示例C#代码示例代码示例VB第10页/共23页DataTable公开了一系列可以由应用程序捕获并公开了一系列可以由应用程序捕获并处理的事件。处理的事件。DataTable事件事件 事件事件描述描述ColumnChanged在值被成功插入列时发生在值被成功插入列时发生ColumnChanging在值被提交给列时发生在值被提交给列时发生RowChanged在成功更改在成功更改DataRow之后

12、之后发生发生RowChanging在在DataRow正在更改时发生正在更改时发生RowDeleted在表中的行被删除后发生在表中的行被删除后发生RowDeleting在表中的行被标记为删除时发生在表中的行被标记为删除时发生TableClearing当表正在被清除时发生当表正在被清除时发生TableCleared当表已被清除时发生当表已被清除时发生TableNewRow在表中新增一行后立即发生在表中新增一行后立即发生第11页/共23页DataColumnChangeEventArgs对象所提供三个属性对象所提供三个属性及其描述如下表所示。及其描述如下表所示。DataTable事件事件(续)(续)

13、属性属性描述描述Column获取其值将要改变的获取其值将要改变的DataColumn对象对象ProposedValue获取或者设置目标值。这就是要赋获取或者设置目标值。这就是要赋给列的新值。例如,在给列的新值。例如,在ColumnChanging事件处理程序中,事件处理程序中,可以查看可以查看ProposedValue,接受或,接受或拒绝该值的变化拒绝该值的变化Row获取其值将要改变的获取其值将要改变的DataRow对象对象第12页/共23页DataRowChangeEventArgs所所提供的两个属性提供的两个属性及其描述及其描述如下表所示。如下表所示。DataTable事件事件(续)(续)

14、属性属性描述描述Action获取将要或已经在获取将要或已经在DataRow上上发生的动作(例如,添加、修改发生的动作(例如,添加、修改或删除)或删除)Row获取将要或已经发生动作的获取将要或已经发生动作的DataRow对象对象第13页/共23页DataTableClearTableEventHandler所所提供的三个属提供的三个属性性及其描述如下表所示。及其描述如下表所示。DataTable事件事件(续)(续)属性属性描述描述Table获取正在被清除的表获取正在被清除的表TableName获取表名获取表名TableNamespace获取给定表的命名空间。这在获取给定表的命名空间。这在XML转

15、换中特别有用转换中特别有用第14页/共23页如前所述,如前所述,DataTable事件可以分成以下三大类别。事件可以分成以下三大类别。基于列的:基于列的:ColumnChanging,ColumnChanged基于行的:基于行的:RowChanging,RowChanged,RowDeleting,RowDeleted基于表的:基于表的:TableClearing,TableCleared,TableNewRowDataTable事件事件(续)(续)第15页/共23页使用使用GetChanges方法的时机方法的时机GetChanges和和Merge 在在DataSet中获得更改的示例中获得更改

16、的示例将更改合并到将更改合并到DataSet第16页/共23页习题习题1.多选题多选题:以下关于以下关于DataAdapter对象对象的描述的描述,_是正确的。是正确的。A.DataAdapter对象可以用来检查查对象可以用来检查查询结果询结果B.DataAdapter对象可以作为数据库对象可以作为数据库和断开连接对象之间的网桥和断开连接对象之间的网桥C.DataAdapter对象可提取查询结果对象可提取查询结果以便脱机时使用以便脱机时使用D.DataAdapter对象可以把脱机使用对象可以把脱机使用时所做的更改提交到数据库中时所做的更改提交到数据库中第17页/共23页习题(续)习题(续)2.

17、多选题多选题:DataSet和和DataAdapter之间的之间的区别是区别是_。A.DataSet在断开连接的缓存中存储数据在断开连接的缓存中存储数据B.DataAdapter对象是对象是DataSet和数据源之和数据源之间检索或保存数据的桥梁间检索或保存数据的桥梁C.DataSet公开由表、行和列所组成的分公开由表、行和列所组成的分层对象模型层对象模型D.DataAdapter类表示一组数据库命令以类表示一组数据库命令以及可用做填充及可用做填充DataSet和更新数据源的数和更新数据源的数据库连接据库连接第18页/共23页习题(续)习题(续)3.多选题多选题:方法方法_能更有效地使用能更有

18、效地使用DataAdapter填充填充DataSet。A.使用与使用与DataAdapter所传入的数据结构所传入的数据结构相同的类型化相同的类型化DataSetB.在填充在填充DataSet之前,调用之前,调用BeginLoadData()方法方法C.在使用多个有相同连接的在使用多个有相同连接的DataAdapter填充填充DataSet之前,显式地打开连接之前,显式地打开连接D.使用使用DataAdapter对象的对象的TableMappings集合集合第19页/共23页习题(续)习题(续)4.为了将数据更改持久地保存到数据为了将数据更改持久地保存到数据源,将按源,将按_顺序调用各种方法顺

19、序调用各种方法。(1)调用调用Update()方法方法(2)调用调用GetChanges()方法方法(3)调用调用Merge()方法方法(4)调用调用AcceptChanges()方法方法A.(1)(2)(3)(4)B.(4)(1)(2)(3)C.(2)(3)(1)(4)D.(1)(3)(4)(2)第20页/共23页习题(续)习题(续)5.准备将记录从一个数据库传输到另准备将记录从一个数据库传输到另一个数据库。一个数据库。只需确保源数据库是只需确保源数据库是 Microsoft SQL Server,就能使用,就能使用 SqlBulkCopy 类来传输记录吗?类来传输记录吗?第21页/共23页习题(续)习题(续)6.在在DataSet 和和 DataTable 对象中,可通对象中,可通过设置过设置SqlDataAdapter 的的_属性来批量传输数据库之间的数据,属性来批量传输数据库之间的数据,也可通过也可通过_方法,筛选出方法,筛选出 DataTable 或或 DataSet 被被更改的部分更改的部分。还还可以通过可以通过_方法,指定方法,指定 DataSet、DataTable 或或 DataRow 对象的数组合并对象的数组合并为为 DataSet。第22页/共23页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!