在wpf中交叉表单时关闭数据库连接

时间:2013-10-30 05:25:14

标签: c# .net sql wpf

我在表单构造函数中使用全局变量打开数据库连接,然后在表单“退出”按钮中关闭它。我面临的问题是,如果我越过表单,它不会关闭数据库连接。如果表单是,我可以关闭连接交叉?

2 个答案:

答案 0 :(得分:0)

您需要使用全局变量吗?

最好只在需要时打开数据库连接,并在完成后立即关闭它们。没有必要保持连接的时间更长,数据库系统现在非常擅长管理连接。

如果您需要使用全局变量,可以覆盖OnClosing方法:

protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
    // close your connection here
    base.OnClosing(e);
}

答案 1 :(得分:0)

最好只检查连接状态,然后关闭it.becoz如果连接已经关闭,它将给出异常。添加以下方法,它将在表单关闭时关闭连接。

 protected override void OnClosed(EventArgs e)
    {
        if (sqlConnection.State != System.Data.ConnectionState.Closed)
        {
            sqlConnection.Dispose();
            sqlConnection.Close();
        }
        base.OnClosed(e);
    }