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

时间:2017-01-20 04:42:09

标签: c# sql-server visual-studio-2008 compact-framework windows-ce

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

按钮点击:

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

选择数据:

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;
}

我想连接数据库一次(当显示的表单时),然后选择,插入,使用相同的连接更新数据,并在关闭屏幕时关闭连接。在运行时,某些屏幕可以多次选择更新。

我该怎么办?

1 个答案:

答案 0 :(得分:2)

你做得很好。最好在最短的时间内保持连接打开,然后再进行处理。这就是你在做什么,这很好。

如果你保持开放状态并且用户在午餐或度假时休息而没有点击其他任何内容,那么你就没有充分的理由保持联系。

如果您需要同时执行多项操作,请打开一个连接并执行查询,然后立即关闭连接。