ADO.NET:单个SqlConnection可以一次执行多个查询吗?

时间:2010-06-24 14:17:16

标签: ado.net sqlconnection

每个人怎么样?

今天非常简单的问题。如果我给两个不同的Threads两个不同的SqlCommands。如果两个SqlCommands都使用相同的SqlConnection,它们可以同时执行吗? SqlConnection会阻止此行为吗?或做某事......更有趣的事情发生了?

(我确实认为SqlConnections是由连接字符串汇总的,但是我需要一些保证)


这是一个假设的问题,只是好奇SqlConnection在描述设计时的行为。

2 个答案:

答案 0 :(得分:3)

使用ADO.NET连接池,运行查询的正确方法是创建并打开连接对象,然后运行命令对象(使用连接对象),然后关闭连接。因此,您所描述的场景(您将打开的连接交给两个不同的命令对象)应该永远不会发生。在正常使用中,您的两个不同的命令对象应该相互独立地打开和关闭它们自己的连接对象,这意味着您将永远不会遇到同时尝试使用相同连接的两个命令对象的问题。

答案 1 :(得分:0)

也许你应该考虑Multiple Active Result Sets。您可以在单个SqlConnection对象上执行多个查询,但有一定限制。