我在表单构造函数中使用全局变量打开数据库连接,并在表单退出按钮中关闭它。我面临的问题是,如果我越过表单,它不会关闭数据库连接。如果表单被越过,我如何关闭连接?
问问题
1540 次
2 回答
0
你需要使用全局变量吗?
最好仅在需要时打开数据库连接,并在使用完毕后立即关闭它们。没有必要让连接保持更长时间,现在数据库系统非常擅长管理连接。
如果需要使用全局变量,可以覆盖OnClosing
方法:
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
// close your connection here
base.OnClosing(e);
}
于 2013-10-30T05:30:41.123 回答
0
最好只检查连接状态,然后关闭它。becoz 如果连接已经关闭,则会出现异常。只需添加以下方法,它会在表单关闭时关闭您的连接。
protected override void OnClosed(EventArgs e)
{
if (sqlConnection.State != System.Data.ConnectionState.Closed)
{
sqlConnection.Dispose();
sqlConnection.Close();
}
base.OnClosed(e);
}
于 2013-10-30T06:02:28.393 回答