我是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);
但是,datagridview会刷新,但数据不会存储到数据库中。 这是我的插入声明:
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);
}
答案 0 :(得分:0)
通过它的声音,似乎你不太了解DataGrid的工作原理。首先,DataGrid的基本功能是创建列和行以显示传递给它的一组数据。
因此,当您执行select语句时,您选择一组数据并将其传递给DataGrid。但是,此时DataGrid不再与查询交互,并且查询不再检索数据。
因此,为了更新DataGrid以显示新数据,您有几个选项,但是我能想到的最简单的方法是简单地重新查询数据并传入新数据集你检索。然后调用其中一个辅助函数(我相信它的 .Refresh 或 .Update )告诉DataGrid用新数据重新加载它收到了。