Datagridview没有';t刷新

本文关键字:刷新 没有 Datagridview | 更新日期: 2023-09-27 18:24:39

我是visual C#的新手,我创建了一个本地数据库,并添加了一个显示数据库内容的datagridview。问题是,每当我向数据库添加内容时,datagridview都不会刷新。只有当我再次运行应用程序时,它才会刷新。

我尝试更改连接字符串如下:

SqlCeConnection cn = new SqlCeConnection(@"Data Source=C:'Users'Florence'Documents'Visual Studio 2012'Projects'WindowsFormsApplication1'WindowsFormsApplication1'Quality.sdf");

到此:

SqlCeConnection cn = new SqlCeConnection(Properties.Settings.Default.QualityConnectionString);

但是,数据网格视图会刷新,但数据不会存储到数据库中。这是我的插入声明:

try
{
    SqlCeCommand exeSql = new SqlCeCommand("INSERT INTO [Read](Date,temperature,ph,conductivity,dissolvedOxygen) VALUES (@date,@tem,@ph,@con,@dis)", cn);
    exeSql.Parameters.AddWithValue("@date", lblTime.Text);
    exeSql.Parameters.AddWithValue("@tem", 1.5);
    exeSql.Parameters.AddWithValue("@ph", 1.2);
    exeSql.Parameters.AddWithValue("@con", 1.5);
    exeSql.Parameters.AddWithValue("@dis", 1.5);
    cn.Open();
    exeSql.ExecuteNonQuery();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
    MessageBox.Show("Query added!");
    cn.Close();
    this.readTableAdapter.Fill(this.qualityDataSet.Read);
}

Datagridview没有';t刷新

因此,从听起来,您似乎不太了解DataGrid是如何工作的。首先,DataGrid的基本功能是创建列和行,以显示传递给它的一组数据

因此,当您执行select语句时,您可以选择一组数据并将其传递给DataGrid。然而,此时DataGrid不再与查询交互,查询也不再检索数据。

因此,为了刷新DataGrid以显示新数据,您有几个选项,但我能想到的最简单的例子是简单地重新查询数据并传入您检索的新数据集然后调用其中一个辅助函数(我相信它是.Refresh.Update),告诉DataGrid用它接收到的新数据重新加载自己。