当本地网络上的服务器连接丢失时,在c# .net中新输入的数据丢失

本文关键字:新输入 数据 输入 net 服务器 本地网络 连接 | 更新日期: 2023-09-27 18:18:51

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

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

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

我的代码

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

当本地网络上的服务器连接丢失时,在c# .net中新输入的数据丢失

检查代码并接受以下问题的答案。它可能会给你一个更好的解决方案来实现你想要的

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

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

你应该这样做:

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