如何在屏幕关闭之前保持与数据库的连接?

How to stay connected to database until screen close?

我为 Windows-CE 平台开发了一个 C# 程序。该程序为每次交互打开和关闭与数据库的连接。请参阅下面的代码。

按钮点击:

private void btnStkIn_Click(object sender, EventArgs e)
{
    formStockIn = new frmStkIn();
    formStockIn.Show();
}

Select数据:

try
{
    using (SqlConnection sqlConn = new SqlConnection(<connection-string>))
    {
        sqlConn.Open();
        //Execute command
        SqlCommand sqlCmd = new SqlCommand(<Select Query>, sqlConn);
        SqlDataReader sqlReader = sqlCmd.ExecuteReader();

        while (sqlReader.Read())
        {
            <Statement here>
        }
    }
}
catch
{
    //SQL command error
    itemDT.ErrorMessage = "Select process is failed.Please contact system admin.";
    itemDT.Result = 12;
}

更新数据:

try
{
    using (SqlConnection sqlConn = new SqlConnection(<connection-string>))
    {
        sqlConn.Open();
        //Execute command
        SqlCommand sqlCmd = new SqlCommand(<Update Query>, sqlConn);
        if (sqlCmd.ExecuteNonQuery() <= 0)
        {
            //No row affect
            return -99;
        }
        else
        {
            //Completed
            return 0;
        }
    }
}
catch
{
    //Sql command error
    return 99;
}

我想连接到数据库一次(当表格显示时),然后使用相同的连接执行 select、插入、更新数据,并在关闭屏幕时关闭连接。在 运行-时间,某些屏幕可以 select-更新不止一次。

我该怎么办?

你做的很好。最好将连接保持打开状态的时间尽可能短,然后再将其处理掉。这就是你正在做的,这很好。

如果您将其保持打开状态,而用户在午餐或休假时离开并且没有点击任何其他内容,则您没有充分理由保持连接。

如果您需要同时做多件事,那么打开一个连接并执行查询,然后立即关闭连接。