只是一個普遍的問題,如果我在我的程序中打開一個OleDbConnection,我應該在某個時候關閉它嗎?我只問,因爲我看過一些教程,其中演示者不包括關閉連接的語句。關閉一個OleDbConnection
在我的具體情況下,我打開一個連接來訪問Excel文件,填充DataTable並獲取一些值。然後,雖然我沒有理由打開連接,但我認爲如果我將其打開,可能會導致一些問題。
另外,說明conn.Close();
足以關閉連接?
只是一個普遍的問題,如果我在我的程序中打開一個OleDbConnection,我應該在某個時候關閉它嗎?我只問,因爲我看過一些教程,其中演示者不包括關閉連接的語句。關閉一個OleDbConnection
在我的具體情況下,我打開一個連接來訪問Excel文件,填充DataTable並獲取一些值。然後,雖然我沒有理由打開連接,但我認爲如果我將其打開,可能會導致一些問題。
另外,說明conn.Close();
足以關閉連接?
是的,您應該儘快關閉連接。如果您在一種方法中使用連接,而不是在一次方法之後立即使用,請關閉並處理它,以便清理它。
您應該在using
語句中創建連接,因爲它甚至會在發生異常時關閉並處理連接。
using (OleDbConnection conn = new OleDbConnection(...))
{
// use the connection inside here
}
爲什麼downvote? –
如果界面要求您處置它,請始終按照我的意見去做。 –
謝謝,我很欣賞答案和解釋。 –
您應該使用using
塊,以確保連接關閉並正確放置。
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
//Do some work
}//The connection is automatically closed when the code exits the using block.
進一步閱讀here
你應該總是關閉連接。如果不僅僅是爲了減少服務器的負載。如果你不再使用它,我會打電話給conn.Dispose。順便說一句,曾聽說過'使用'的聲明? –
是的,'conn.Close();'就足夠了,但'using'語句更清晰,並且保證即使拋出異常也關閉連接。 –
謝謝,我欣賞它! –