2014-09-26 168 views
0

我是新來Visual C#,我創建了一個本地數據庫,並添加了一個datagridview顯示數據庫的內容。問題在於,只要向數據庫添加內容,datagridview就不會刷新。一旦我再次運行我的應用程序,它只會刷新。Datagridview不刷新

我試圖從這個改變的ConnectionString:

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

因此,通過它的聲音,好像你不太瞭解DataGrid中是如何工作的。首先,DataGrid的基本功能是創建列和行以顯示傳遞給它的一組數據。

所以,當你在做select語句時,你選擇一組數據並將它傳遞給DataGrid。但是,此時DataGrid不再與查詢進行交互,查詢也不再檢索數據。

因此,爲了讓DataGrid能夠刷新以顯示新數據,您可以選擇一些選項,但我認爲最簡單的方法就是只需簡單地重新查詢數據並將新數據集傳遞給您檢索。然後調用輔助函數(我相信它的.Refresh。更新)告訴DataGrid使用它接收到的新數據重新加載自己。

+0

我試過使用datagridview1.refresh();和datagridview1.update();但它仍然是一樣的。沒有什麼變化。請提供任何提示?非常感謝你。 – Renzi 2014-09-26 01:08:53

+0

你讀過粗體字以上的任何內容嗎? – 2014-09-26 01:09:59