代码之家  ›  专栏  ›  技术社区  ›  Meiscooldude

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

  •  2
  • Meiscooldude  · 技术社区  · 14 年前

    大家都好吗?

    今天的问题很简单。如果我给两个单独的线程两个不同的sqlcommands。如果两个sqlcommands都使用相同的sqlconnection,它们是否可以同时执行?sqlconnection是否阻止此行为?或者做些什么…更有趣的事情发生了?

    (我相信sqlconnections是由连接字符串合并的,正是因为这个原因,但我需要一些保证)


    这是一个假设性的问题,只是想知道给定所描述的设计,sqlconnection的行为如何。

    2 回复  |  直到 14 年前
        1
  •  3
  •   MusiGenesis    14 年前

    有了ADO.NET连接池,运行查询的正确方法是创建和打开连接对象,然后运行命令对象(使用连接对象),然后关闭连接。因此,您描述的场景(将打开的连接传递给两个不同的命令对象)不应该出现。In normal usage your two different command objects should open and close their own connection objects independent of each other, which means you will never run into the problem of two command objects simultaneously attempting to use the same connection at the same time.

        2
  •  0
  •   alwayslearning    14 年前

    也许你应该考虑一下 Multiple Active Result Sets . 您可以对单个sqlconnection对象执行多个查询,尽管有一定的限制。