DataAdapter数据集DataSet和数据库的同步(5):总结
2007-12-23 00:22
746 查看
DataSet包含DataTable类型的数组Tables。
每个DataTable又包含DataRow类型的Rows集合,包含DataColumn类型的Columns集合。
DataTable dataTable = dataSet.Tables[0];
DataRow dataRow = dataSet.Tables[0].Rows[0];
取得列值:
object columnValue = dataSet.Tables[0].Rows[0][0];
//--===------------------------------------------===---
DataRowVersion的变化:
DataRow的BeginEdit方法调用后,Current,Proposed值可用。
DataRow的CancelEdit方法调用后,Proposed值被删除。
DataRow的EndEdit方法调用后,Proposed值变成Current值。
DataRow的AcceptChanges调用后,Original值修改为Current值。
DataRow的RejectChanges调用后,Proposed值被丢弃,版本变成Current。
DataTable的AcceptChanges调用后,Original值改为Current值。
//--===------------------------------------------===---
数据适配器DataAdapter的方法:
1.Fill:把数据从数据源加载到数据集DataSet中。
2.Update:把数据从数据集加载到数据源中。
//--===------------------------------------------===---
Fill方法:
1.Fill(DataSet)
2.Fill(DataTable)
3.Fill(DataSet,tableName);
4.Fill(DataTable,DataReader):用指定的DataReader填充数据表
★默认情况下,调用DataAdapter的Fill方法时,除了会填充DataSet之外,还会自动调用DataSet.AcceptChanges,调用后所有的行状态都不是“新改变的”,此时Original和Current的值是一样的。
★如果希望从多个数据源填充一个DataSet,再将其写回另外一个数据存储,这时要把DataAdapter的属性AcceptChangesDuringFill设置为false,以便让结果行表现为新添加的行。
Update方法:
1.Update(DataSet):根据指定的数据集中的数据表更新数据源
2.Update(DataTable):根据指定的数据表更新数据源
3.Update(dataRows):根据指定的数据行数组更新数据源
当调用Update方法时,DataAdapter将分析已作出的更改并执行相应的命令(Insert,Update,Delete). 当DataAdapter遇到DataRow的更改时,他将使用InsertCommand, UpdateCommand, DeleteCommand来处理更改. 如此就可以通过在设计时制定命令语法并在可能时通过使用存储过程来尽量提高Ado.net应用程序的性能. 在调用Update命令前,保证用于更改数据的3个Command存在,否则将引发异常.
//--===------------------------------------------===---
数据适配器事件
1.OnRowUpdating:在数据行更新前执行
2.OnRowUpdated:在数据行更新后执行,可以检查单条更新于巨的执行结果.
其EventArgs属性表如下
Command 要执行的数据库命令
Errors 错误
Row 要更新的行
StatementType 要执行的命令类型,可能为增删改查之一
RecordsAffected 要影响的行数
TableMapping 更新所使用的DataTableMapping
每个DataTable又包含DataRow类型的Rows集合,包含DataColumn类型的Columns集合。
DataTable dataTable = dataSet.Tables[0];
DataRow dataRow = dataSet.Tables[0].Rows[0];
取得列值:
object columnValue = dataSet.Tables[0].Rows[0][0];
//--===------------------------------------------===---
DataRowVersion的变化:
DataRow的BeginEdit方法调用后,Current,Proposed值可用。
DataRow的CancelEdit方法调用后,Proposed值被删除。
DataRow的EndEdit方法调用后,Proposed值变成Current值。
DataRow的AcceptChanges调用后,Original值修改为Current值。
DataRow的RejectChanges调用后,Proposed值被丢弃,版本变成Current。
DataTable的AcceptChanges调用后,Original值改为Current值。
//--===------------------------------------------===---
数据适配器DataAdapter的方法:
1.Fill:把数据从数据源加载到数据集DataSet中。
2.Update:把数据从数据集加载到数据源中。
//--===------------------------------------------===---
Fill方法:
1.Fill(DataSet)
2.Fill(DataTable)
3.Fill(DataSet,tableName);
4.Fill(DataTable,DataReader):用指定的DataReader填充数据表
★默认情况下,调用DataAdapter的Fill方法时,除了会填充DataSet之外,还会自动调用DataSet.AcceptChanges,调用后所有的行状态都不是“新改变的”,此时Original和Current的值是一样的。
★如果希望从多个数据源填充一个DataSet,再将其写回另外一个数据存储,这时要把DataAdapter的属性AcceptChangesDuringFill设置为false,以便让结果行表现为新添加的行。
Update方法:
1.Update(DataSet):根据指定的数据集中的数据表更新数据源
2.Update(DataTable):根据指定的数据表更新数据源
3.Update(dataRows):根据指定的数据行数组更新数据源
当调用Update方法时,DataAdapter将分析已作出的更改并执行相应的命令(Insert,Update,Delete). 当DataAdapter遇到DataRow的更改时,他将使用InsertCommand, UpdateCommand, DeleteCommand来处理更改. 如此就可以通过在设计时制定命令语法并在可能时通过使用存储过程来尽量提高Ado.net应用程序的性能. 在调用Update命令前,保证用于更改数据的3个Command存在,否则将引发异常.
//--===------------------------------------------===---
数据适配器事件
1.OnRowUpdating:在数据行更新前执行
2.OnRowUpdated:在数据行更新后执行,可以检查单条更新于巨的执行结果.
其EventArgs属性表如下
Command 要执行的数据库命令
Errors 错误
Row 要更新的行
StatementType 要执行的命令类型,可能为增删改查之一
RecordsAffected 要影响的行数
TableMapping 更新所使用的DataTableMapping
相关文章推荐
- DataAdapter数据集DataSet和数据库的同步(3):使用CommandBuilder来更新数据集
- DataAdapter数据集DataSet和数据库的同步(1):DataRowVersion,Mapping
- DataAdapter数据集DataSet和数据库的同步(2):使用DataAdapter来更新数据集
- 数据集和数据库的同步-DataAdapter的使用
- 数据集和数据库的同步-DataAdapter的使用
- 数据集和数据库的同步-DataAdapter的使用
- 29:ASP.NET复习系列- ADO.NET基本知识点-数据集和数据库的同步-DataAdapter
- [ASP.NET学习笔记之二]数据集和数据库的同步-DataAdapter的使用
- 数据集和数据库的同步-DataAdapter的使用
- 第三十一讲 数据集和数据库的同步-DataAdapter的使用
- DataSet更新到数据库总结
- ADO.NET技术简介(二)获取数据库数据DataAdapter、DataReader、DataSet
- 使用 DataAdapter 和 DataSet 更新数据库 [C#]
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- DBLINK实现两个数据库间表数据同步---张金总结版
- 简单实用的DataSet更新数据库的类+总结(c#)
- 数据库同步产品PAC优势总结
- [转]简单实用的DataSet更新数据库的类+总结
- 使用dataadapter和dataset更新数据库
- 总结一下DataSet数据集ds和GridView的所有行遍历的方法