2017-05-03 61 views
0

我是C#的新手,我有一個帶ComboBox Customer_CmbBx的獲獎表單,它從名爲CustomerTable的訪問表中獲取其值列表。用另一種形式,我可以添加到工作表。但是當我來看看組合框中的值時,他們並沒有改變。即使我關閉數據庫並重新打開它。新的價值未列出。組合框代碼如下在訪問表中輸入的數據不顯示在組合框中

private void LoadCustomerOnCombo() 
{ 
    string strCon = Properties.Settings.Default.Database2ConnectionString; 
    using (OleDbConnection conn = new OleDbConnection(strCon)) 
    { 
     try 
     { 
      string strSql = "Select * from CustomerTable"; 
      OleDbDataAdapter adapter = new OleDbDataAdapter(new OleDbCommand(strSql, conn)); 
      DataSet ds = new DataSet(); 
      adapter.Fill(ds); 
      Customer_cmbBx.DataSource = ds.Tables[0]; 
      Customer_cmbBx.ValueMember = "Customer"; 
      conn.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 
} 

看起來好像表中的任何更改都沒有列出。甚至手動更改表格中顯示的記錄也沒有被組合框顯示出來。誰能告訴我爲什麼這是?

+0

可能'ComboBox'顯示舊值,並且在更改後不會刷新。所以我想你需要刷新'ComboBox'來應用更改。 –

+0

在組合框中添加刷新沒有效果。查看組合框從中獲取其值的數據集沒有改變。數據集應該讀取表格,組合框從數據集中讀取其項目列表。但是看起來數據集只讀了一次表格,表格中所有未來的記錄都被忽略/未見。 –

回答

0

發現問題。這是因爲我使用了默認連接字符串Properties.Settings.Default.Database2ConnectionString; 而不是使用我自己的。現在改變它,一切正常。

相關問題