如何在执行多个查询时保持Connection处于打开状态?

MrM*_*MrM 7 .net c# asp.net

我正在使用多个查询从我的应用程序中的同一服务器中提取数据.问题是我每次有新查询时都必须打开一个新连接.

是否有可能:

  • 打开连接
  • 运行查询
  • 拉结果
  • 运行另一个查询
  • 拉另一个结果
  • 运行最终查询
  • 拉另一个结果
  • 关闭连接.

GEO*_*HET 17

虽然你可能还不知道,但你正确地做到了.

打开连接,执行查询,关闭它.优选使用using块或try/ finally.

这可能听起来像很多开销,但SQL Server的.NET Framework数据提供程序中的连接池实际上会为您优化这一点.

实际上建议关闭连接.以下是文档中的引用:

建议您在使用完毕后始终关闭Connection,以便将连接返回到池中.这可以使用Connection对象的Close或Dispose方法完成.未显式关闭的连接可能不会添加或返回到池中.例如,如果已达到最大池大小且连接仍然有效,则超出范围但尚未显式关闭的连接将仅返回到连接池.

以下是一些执行此操作的代码示例:

try {
    conn.Open();
    // Perform query here
} finally {
    conn.Close();
}
Run Code Online (Sandbox Code Playgroud)

以供参考:

http://msdn.microsoft.com/en-us/library/8xx3tyca(VS.71).aspx