使用DataAdapter更新数据源
来源:互联网 发布:矛盾论读后感知乎 编辑:程序博客网 时间:2024/04/29 14:24
"SELECT CategoryID, CategoryName FROM Categories", connection);
dataAdpater.UpdateCommand = new SqlCommand(
"UPDATE Categories SET CategoryName = @CategoryName " +
"WHERE CategoryID = @CategoryID" , connection);
dataAdpater.UpdateCommand.Parameters.Add(
"@CategoryName", SqlDbType.NVarChar, 15, "CategoryName");
SqlParameter parameter = dataAdpater.UpdateCommand.Parameters.Add(
"@CategoryID", SqlDbType.Int);
parameter.SourceColumn = "CategoryID";
parameter.SourceVersion = DataRowVersion.Original;
DataSet dataSet = new DataSet();
dataAdpater.Fill(dataSet, "Categories");
DataRow row = dataSet.Tables["Categories"].Rows[0];
row ["CategoryName"] = "New Category";
dataAdpater.Update(dataSet, "Categories");
DataAdapter 的 Update 方法可调用来将DataSet 中的更改解析回数据源。与 Fill 方法类似,Update 方法将 DataSet 的实例和可选的DataTable 对象或 DataTable 名称用作参数。DataSet 实例是包含已作出的更改的 DataSet,而 DataTable 标识从其中检索更改的表。
当调用 Update 方法时,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT、UPDATE 或 DELETE)。当 DataAdapter 遇到对DataRow 的更改时,它将使用 InsertCommand、UpdateCommand 或 DeleteCommand 来处理该更改。这样,您就可以通过在设计时指定命令语法并在可能时通过使用存储过程来尽量提高 ADO.NET 应用程序的性能。在调用 Update 之前,必须显式设置这些命令。如果调用了 Update 但不存在用于特定更新的相应命令(例如,不存在用于已删除行的 DeleteCommand),则将引发异常。
Command 参数可用于为 DataSet 中每个已修改行的 SQL 语句或存储过程指定输入和输出值。有关更多信息,请参见将参数用于 DataAdapter。
如果 DataTable 映射到单个数据库表或从单个数据库表生成,则可以利用 DbCommandBuilder 对象自动生成 DataAdapter 的 DeleteCommand、InsertCommand 和 UpdateCommand。有关更多信息,请参见自动生成命令。
Update 方法会将更改解析回数据源;但是自上次填充 DataSet 以来,其他客户端可能已修改了数据源中的数据。若要使用当前数据刷新 DataSet,请使用 DataAdapter 和 Fill 方法。新行将添加到该表中,更新的信息将并入现有行。Fill 方法通过检查 DataSet 中行的主键值及 SelectCommand 返回的行来确定是要添加一个新行还是更新现有行。如果 Fill 方法发现 DataSet 中某行的主键值与 SelectCommand 返回结果中某行的主键值相匹配,则它将用 SelectCommand 返回的行中的信息更新现有行,并将现有行的 RowState 设置为 Unchanged。如果 SelectCommand 返回的行所具有的主键值与 DataSet 中行的任何主键值都不匹配,则 Fill 方法将添加 RowState 为 Unchanged 的新行。
- 使用DataAdapter更新数据源
- 使用 DataAdapter 更新数据源
- 使用 DataAdapter 执行数据源批量更新
- 使用 DataAdapter 更新数据源 (ADO.NET)
- 使用DataAdapter执行批量更新
- 使用 DataAdapter 执行批量更新
- 使用DataAdapter来更新数据
- 使用 DataAdapter 执行批量更新
- 使用 DataAdapter 执行批量更新
- 使用 DataAdapter 执行批量更新
- 使用 DataAdapter 和 DataSet 更新数据库
- 使用 DataAdapter 和 DataSet 更新数据库 [C#]
- 使用 DataAdapter 和 DataSet 更新数据库
- 使用 DataAdapter 和 DataSet 更新数据库 [C#]
- 使用 DataAdapter 和 DataSet 更新数据库
- 使用 DataAdapter 和 DataSet 更新数据库 [C#]
- 使用dataadapter和dataset更新数据库
- DataAdapter 填充数据源
- Google Analytics功能篇—高级过滤器
- Android 判断SD剩余空间是否够下载
- 打印控件的自动缩放功能
- 《一个程序员的优乐美》第四章 进行测试练习
- Memcached 安装、使用(Python操作)以及常用方法
- 使用DataAdapter更新数据源
- 泛型和数组,这个实例体现用泛型,代码重用性!
- 网址和电子商务的目标
- 《一个程序员的优乐美》第五章 上班后的第一个周末
- flex3 图片裁剪
- 最容易理解的快速排序方法和程序
- 《一个程序员的优乐美》第六章 重回学校
- DSPIC30F6014A移植UCOS中的os_cpu_a.s的理解
- 9月16日汇报进度时的谈话总结