如何通过C#代码在Sql中执行批量更新

前端之家收集整理的这篇文章主要介绍了如何通过C#代码在Sql中执行批量更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想更新下面的多行
update mytable set s_id = {0} where id = {1}

(这里s_id是基于一些复杂的逻辑进行评估的).
出于性能原因,更新应分批进行.有没有办法批量更新语句并通过单个执行语句执行批处理?我知道在JAVA中我们可以通过JDBC来做到这一点.在C#中有类似的方法吗?

提前致谢

解决方法

是的,你可以使用 SqlDataAdapter.

sqlDataAdapter具有InsertCommandUpdateCommand属性,允许您指定用于将新行插入到数据库中的sqlCommand和sqlCommand,以分别更新数据库中的行.

然后,您可以将DataTable传递给数据库Update方法,并将语句批处理到服务器 – 对于作为新行的DataTable中的行,它执行INSERT命令,对于执行UPDATE命令的修改行.

您可以使用UpdateBatchSize属性定义批量大小.

这种方法允许您处理大量数据,并允许您以不同的方式处理错误,即,如果特定更新遇到错误,您可以告诉它不要抛出异常,而是继续执行剩余的通过设置ContinueUpdateOnError属性进行更新.

猜你在找的C#相关文章