DataAdapter 包含两个与更新有关的事件:RowUpdating 和 RowUpdated。在以前版本的 ADO.NET 中,在禁用批处理时,这两个事件会为每个处理的行生成一次。RowUpdating 在更新发生之前生成,而 RowUpdated 在数据库更新完成后生成。
使用批量更新的事件行为变化
在启用批处理时,多个行在单个数据库操作中更新。因此,每一批只发生一次 RowUpdated 事件,而每个处理的行都会发生 RowUpdating 事件。在禁用批处理时,则是一对一地交替引发两个事件,一行引发一个 RowUpdating 事件和一个 RowUpdated 事件,下一行也引发一个 RowUpdating 事件和一个 RowUpdated 事件,直到所有行处理完毕。
访问已更新的行
处理数据错误
批处理执行的效果与分别执行每个语句相同。语句按照添加到批处理中的顺序执行。在批处理模式下处理错误的方式与禁用批处理模式时相同。每一行单独处理。只有已在数据库中成功处理的行才会在 DataTable 内对应的 DataRow 中更新。
数据提供程序和后端数据库服务器确定批处理执行所支持的 SQL 构造。如果提交执行不支持的语句,可能会引发异常。
请参见