只是一个普遍的问题,如果我在我的程序中打开一个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'语句更清晰,并且保证即使抛出异常也关闭连接。 –
谢谢,我欣赏它! –