1

我正在使用本地网络上的数据库 SQL 2000 在 C#.net 中开发桌面应用程序。

有时当用户用数据填充网格时,网络连接丢失并且用户不知道它。当用户保存数据时发生错误并且所有数据都丢失了。在每个单元格值发生更改后,我使用事件技术来存储数据,但这需要很少的时间,我想在用户单击表单时在屏幕上向用户显示数据库连接是否可用。为此,我在点击事件中编写了一个代码来检查连接字符串的状态。但是当我断开网络时,这段代码显示连接可用。

有没有更好的方法来做这一切?

这是我的代码

private void FrmTMAGazte_Click(object sender, EventArgs e)
    {
        if (DbCon.SQLCon.State == ConnectionState.Open)
        {
            txtalrt.BackColor = Color.LightGreen;
            txtalrt.Text = "Connected...";
        }
        else
        {
            txtalrt.BackColor = Color.Tomato;
            txtalrt.Text = "Disconnected";
        }
    }
4

2 回答 2

0

检查代码并接受以下问题的答案。它可能会为您提供更好的解决方案来实现您想要实现的目标

在 C# 中,确定数据库是否已启动并正在运行的最佳方法是什么?

于 2013-06-17T07:08:52.567 回答
-1

从阅读您的问题看来,您在保存事件期间正在重置/清除表单中的所有输入字段。只有当您可以确认数据已正确保存时,您才应该这样做。

你应该这样做:

private void btnSave_Click(object sender, EventArgs e)
{
   try
   {
     .... code to save data
     .... code to clear all fields
   }
   catch (Exception e)
   {
     ....error happened, examine the error, if you are not connected try to reconnect but do not clear all fields
     ....this will allow the user to try to save again.
   }
}
于 2013-06-17T07:10:53.927 回答