2010-11-29 20 views
1

基本上,如果我做了以下內容:C#/ Informix的:我需要明確地關閉呼籲我的數據庫連接,如果它在一個using語句?

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

注:IfxConnection是自DbConnection繼承了IBM類。

我知道將它留在那裏並不會傷害,但是我正在清理並儘可能高效地編寫我的代碼,因此刪除任何「額外」的代碼將會很好。 :)

回答

3

如果IBM在Dispose()的類中清理並調用Close(),那麼刪除最後一行是安全的。

按照docs,是的,他們做的。

基本上,你有兩個選擇:

  • using()
  • 沒收using(),去一個try{ ... } finally { if (connectionIsOpen) connection.Close()}

使用兩者是不必要的。

我會投票支持使用using()。 (雙關語意);-)

就是不重用 - 哎呀,再次;-) - 一個已經設置在連接 - 但你不會做,反正,你呢? :-)

1

調用Dispose關閉你的連接。要小心,因爲它也會清除連接字符串。

請參閱IfxConnection這些提示:

  • 一個IfxConnection對象上調用Dispose是調用Close不同。例如,Dispose會清除連接字符串,而Close不會。

  • [參考Close方法]關閉與數據庫的連接。這是關閉任何打開的連接的首選方法。

相關問題