关闭 OleDbConnection

Closing an OleDbConnection

只是一个一般性问题,如果我在我的程序中打开一个 OleDbConnection,我应该在某个时候关闭它吗?我问是因为我看过一些教程,其中演示者没有包含关闭连接的语句。

在我的具体情况下,我打开一个连接来访问一个 Excel 文件,填充一个数据表并获取一些值。不过在那之后,我没有理由打开连接,我认为如果我保持打开状态可能会导致一些问题。

另外,语句conn.Close();是否足以关闭连接?

是的,您应该在完成连接后立即关闭连接。如果您在一种方法中使用您的连接,而不是在它之后立即再次使用,请关闭并处理它,以便清理它。

您应该将连接的创建包装在 using 语句中,因为这甚至会在发生异常时关闭并处理连接。

using (OleDbConnection conn = new OleDbConnection(...))
{
    // use the connection inside here
}

您应该使用 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