C#/Informix : Do I need to explicitly call Close on my DB Connection if it's in a using statement?

标签 c# database-connection informix using-statement

基本上,如果我执行以下操作:

using (IfxConnection connection = ConnectionManager.GetConnection())
{
    connection.Open();
    ...
    if (connection != null) connection.Close(); //Is this necessary?
}

注意:IfxConnection 是一个继承自 DBConnection 的 IBM 类。

我知道把它留在那儿不会有什么坏处,但我正处于清理并使我​​的代码尽可能高效的时刻,所以删除任何“额外”的东西会很好。 :)

最佳答案

如果 IBM 在 Dispose() 上清理并在其 IfxConnection 类中调用 Close(),那么删除最后一个是安全的线。

根据docs ,是的,他们有。

基本上,您有两个选择:

  • 使用using()
  • 放弃 using() 并尝试 try{ ... } finally { if (connectionIsOpen) connection.Close()}

没有必要同时使用它们。

我会投票赞成使用 using()。 (双关语);-)

只是不要重用 - 啊,又一次 ;-) - 已经处理的连接 - 但无论如何你不会那样做,对吗? :-)

关于C#/Informix : Do I need to explicitly call Close on my DB Connection if it's in a using statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306819/

相关文章:

mysql - 有没有办法在没有身份验证的情况下确定 MySQL SSL 连接?

jdbc - C3P0 maxPoolSize 已耗尽

sql - 继续 - 在查询完成之前查看 FIRST_ROWS

python - 如何让 Python 和 Informix 在 Linux 上对话?

c# - 在浏览器中打开 Html 代码

C# 检查所有浅层属性是否为空(或任何属性不为空)的优雅方法

c# - 使用 TimeZoneInfo.ConvertTime() 的时间不正确

c# - 为什么文件后面有一个 xsd 文件代码。它们是做什么用的?

java - 实现 AbstractMultiTenantConnectionProvider

java - 如何在Hsql中进行外连接