我有一些C#,其中在连接(ExecuteReader)上创建了一个读取器,然后针对该读取器中的每一行,执行另一个命令(带有ExecuteNonQuery)。在这种情况下,我可以MultipleActiveResultSets=True在连接上使用还是使用多个连接更好?
ExecuteReader
ExecuteNonQuery
MultipleActiveResultSets=True
专门为这种类型的操作添加了多个活动结果集(MARS),因此您不必同时打开两个连接就可以从SqlDataReader中读取并执行其他批处理。
MARS与SQL Server 2005及更高版本兼容。引用MSDN文档:
在引入多个活动结果集(MARS)之前,开发人员必须使用多个连接或服务器端游标来解决某些情况。
有关更多信息,请参见:
MSDN库-MARS概述
读取和更新数据的工作示例:
MSDN库-操纵数据(MARS)向下滚动到“使用MARS读取和更新数据”