执行多个查询时如何保持连接打开?

2024-06-04

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

是否有可能:

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

尽管您可能还不知道,但您的做法是正确的。

打开连接,执行查询,然后关闭它。最好使用一个using块或try/finally.

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

事实上,建议关闭连接。 这是文档中的引用:

建议您始终 关闭连接时 完成使用它以便 连接返回到池中。 这可以使用以下任一方法来完成 Close 或 Dispose 方法 连接对象。连接 没有明确关闭可能不会 添加或返回到池中。为了 例如,连接已消失 超出范围,但尚未 显式关闭只会 如果满足则返回到连接池 已达到最大池大小并且 连接仍然有效。

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

try {
    conn.Open();
    // Perform query here
} finally {
    conn.Close();
}

以供参考:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

执行多个查询时如何保持连接打开? 的相关文章

随机推荐

  • 即使成功固定后,ParseQuery 在从本地数据存储查询时也给出 0 个对象

    我正在使用 parse com 的 Android SDK 并且遇到了一个特殊的问题 从片段的 onCreate 中 从服务器获取一个对象 Pin it 从本地数据存储中获取对象 以下是 onCreate 中的代码片段 ParseObjec
  • 使用 jest 测试 catch 块

    我如何测试下面我使用类的代码片段中的 catch 块 示例 js class Sample constructor data this resolvedData this retrieveData data retrieveData dat
  • 集成到 Windows 资源管理器上下文菜单中

    我想写一个小工具 它可以执行以下操作 当您右键单击具有特定文件扩展名的文件时 Windows 资源管理器上下文菜单会显示一个附加条目 当您单击此条目时 将启动某个 EXE 并以此文件作为其参数之一 我想为此使用 C NET 2 0 如果不可
  • 为什么用 < 对 JS 数字数组进行排序有效?

    在 JavaScript 中对数字数组进行排序时 我不小心使用了 lt 代替通常 https stackoverflow com questions 1063007 how to sort an array of integers corr
  • 如何在节点soap中查看请求和响应数据?

    我正在尝试使用肥皂API节点肥皂 https github com vpulim node soap 我的响应无法解析 我想知道如何查看控制台的请求和响应数据以简化错误查找过程 由于 Node Soap 使用请求库 因此可以通过以下方式对其
  • java 协变返回类型

    为什么下面的代码打印 1 class A int x 1 class B extends A int x 2 class Base A getObject System out println Base return new B publi
  • jQuery mouseover 显示隐藏的 div 并显示 div(如果鼠标仍在 div 上)

    我的鼠标悬停和鼠标移出功能有问题 当我将鼠标悬停在链接上时 它会显示隐藏的 div 当我将鼠标移出 div 时 它会隐藏该 div 问题是 如果我将鼠标悬停在链接上 然后将鼠标移动到不在 div 上方的其他位置 div 不会消失 如果我使用
  • 使用 setMessage() 在 AlertDialog 中显示多行文本和变量

    我需要在警报对话框中显示多行文本 如果我使用多个 setMessage 方法 则仅显示最后一个 setMessage 如下所示 final AlertDialog alertDialog new AlertDialog Builder th
  • 使用 data.table 而不是 data.frame 进行子集化

    我正在处理一个包含 300 万行和 10 列的数据框 并且正在对其进行一些子集化 我下面有一些玩具代码 当我子集化时 需要很长时间 如果我使用 data table 和 data table 上的子集会更快吗 这是一些玩具代码 s lt c
  • Docker 容器可以访问 DNS,但无法解析主机

    我在运行 docker 容器时遇到一个有趣的问题 突然间 我无法从容器内解析 DNS 这是一个概要 一切都没有解决 apt get pip 一次性 ping 容器等正在运行docker run it dns 8 8 8 8 ubuntu p
  • 具有定期更新的静态数据集的结构化流

    将流媒体与静态数据集合并是结构化流媒体的一个重要功能 但在每个批次中 数据集都会从数据源刷新 由于这些源并不总是那么动态 因此在指定的时间段 或批次数 内缓存静态数据集会提高性能 在指定的时间段 批次数之后 将从源重新加载数据集 否则从缓存
  • 如何使用 Mercurial 忘记所有已删除的文件

    我是 Mercurial 的新手 在清理项目中的图像文件夹后 我显示了大量文件 在 汞状态 中 我可以为每个输入 hg忘记 但必须有一个更简单的方法 那么我怎样才能告诉 Mercurial 忘记文件夹中所有已删除的 状态 文件呢 如果您也可
  • Mypy 产生不兼容的签名错误,但满足里氏替换原则

    以下继承结构满足里氏替换原则 即 在本例中 接受任何 kwargs 并且不接受任何非关键字参数 class Parent def mymethod self kwargs gt None print Called Parent mymeth
  • 插入MYSQL时自动初始化GETDATE()

    类似问题 https stackoverflow com questions 17700239 mysql column automaticly current time of insert w3schools 也许有用的链接 http w
  • 如何在小插图中的同一 R 包中放置指向另一个小插图的链接

    我有一个关于 Bioconductor 的包 我正在向它添加第二个小插图 我想将第二个小插图链接到第一个小插图 因为一个小插图位于包的一般工作流程上 第二个小插图用于针对更高级的用户的精细参数调整 有没有一种干净的方法来做到这一点 我发现的
  • 如何将 CAD (DWG) 文件转换为 GeoJSON?

    我正在使用 OpenLayers 需要将 DWG 文件转换为 GeoJSON 格式 我怎样才能做到这一点 事实上 GDAL 拥有完成此任务所需的工具 ogr2ogr 是 GDAL 中包含的一个程序 可以转换多种格式 https gdal o
  • 浮动操作按钮动画

    当 fab 出现时 它使用动画中的比例进行动画处理 当它隐藏时 它使用向外扩展动画 因此 它是一个缩小和缩小的动画 这个动画要怎么制作呢 从 Zielony 的回答来看 我完全按照我想要的方式制作了它 下面是正确应用效果的代码 scale
  • 在nextjs中获取URL路径名

    我有一个登录页面和布局组件 布局组件有标题 我不想在登录中显示标题 为此 我想获取 url 路径名 基于路径名显示标题 import as constlocalStorage from helpers localstorage import
  • KeyCloak 服务器的自省端点

    我正在尝试探索 KeyCloak 服务器的功能 并希望通过使用获取有关访问令牌的信息 openid connect token introspect端点 因此 我将向此端点发送下一个请求 curl v data token type hin
  • 执行多个查询时如何保持连接打开?

    我正在使用多个查询从应用程序中的同一服务器提取数据 问题是每次有新查询时我都必须打开一个新连接 是否有可能 打开连接 运行查询 拉取结果 运行另一个查询 拉取另一个结果 运行最终查询 拉取另一个结果 关闭连接 尽管您可能还不知道 但您的做法