基本上,如果我正在做以下事情:
using (IfxConnection connection = ConnectionManager.GetConnection())
{
connection.Open();
...
if (connection != null) connection.Close(); //Is this necessary?
}
注意:IfxConnection是继承自DBConnection的IBM类。
我知道把它放在那里也不会有什么坏处,但是我正处于清理工作并使我的代码尽可能高效的地步,因此删除任何“额外”的东西都会很好。 :)
答案 0 :(得分:3)
如果IBM在Close()
上的IfxConnection
课程中清理并调用Dispose()
,则可以安全删除最后一行。
根据docs,是的,他们确实如此。
基本上,您有两种选择:
using()
或using()
并选择try{ ... } finally { if (connectionIsOpen) connection.Close()}
不必使用它们。
我会投票使用using()
。 (双关语); - )
只是不要重复使用 - 再次,再次;-) - 已经处理好的连接 - 但是你不会这样做,不管怎样,你呢? : - )
答案 1 :(得分:1)
致电Dispose
会为您关闭连接。但要小心,因为它也会清除连接字符串。
有关这些提示,请参阅IfxConnection
:
在IfxConnection对象上调用Dispose与调用Close不同。例如,Dispose清除连接字符串,而Close则不清除。
[参考
Close
方法] 关闭与数据库的连接。这是关闭任何打开连接的首选方法。