1

我在表单构造函数中使用全局变量打开数据库连接,并在表单退出按钮中关闭它。我面临的问题是,如果我越过表单,它不会关闭数据库连接。如果表单被越过,我如何关闭连接?

4

2 回答 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 回答