2012-05-07 24 views
1

您好,我已經連接了數據庫Ms-access 2010(.mdb)C#然後我想在datagrid視圖中顯示它,這裏是我用來保存代碼或insert the data如何更新或刷新C#中的MS-訪問連接數據網格視圖

OleDbCommand cmd = new OleDbCommand(); 
     cmd.CommandType = CommandType.Text; 
     cmd.CommandText = "insert into VMS(PlateNo,JobCardNo,Model,DateIn,Status,PartList,PurchNo,PurchDate,Remark)" + "values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "','" + textBox9.Text + "')"; 
     cmd.Connection = mycon; 
     mycon.Open(); 
     cmd.ExecuteNonQuery(); 
     mycon.Close(); 

這是正確的,問題是當我保存新的數據,它保存在MS-訪問但它不會更新或顯示在datagridview。任何幫助將不勝感激

回答

0

要插入一些數據後更新您的datagridview,你應該重新綁定您的數據網格視圖,一些sudocode可能是這樣的:

OledbConnection conn=new OledbConnection("your connectionstring"); 
OledbCommand comm=new OledbCommand("SELECT * FROM yourtablename",conn); 
OledbDataAdapter da=new OledbDataAdatpter(comm); 
Dataset ds=new dataSet(); 
conn.open(); 
da.Fill(ds,"T1"); 
datagridView.DataMember="T1"; 
datagridview.DataSource=ds; 
conn.close(); 

注意:如果你的項目是一個asp.net分配你寫的方法DataBind(數據源)到您的datagridview這種方式後項目:

datagridview.DataSource=ds; 
datagridview.DataBind(); 

但在Windows應用程序,你不必執行方法DataBind()

請標記爲答案,如果你它解決了你的問題

+0

感謝khashayar,但我認爲這種方式更適合與Microsoft SQL不是爲MS-訪問連接,你會告訴我該使用OleDbCommand的。最好的問候 – abelo

+0

@abelo我編輯了上面Oledb Provider類的代碼,請標記爲答案,如果它解決了您的問題,這種方式其他人有同樣的問題在這裏找到答案! – Karamafrooz

3

這是插入一些數據後更新你的datagridview的最佳方式。

Dataset sDs = new DataSet();

sAdapter.Fill(sDs, "T1");

sTable = sDs.Tables["T1"];

dataGridView1.DataSource = sDs.Tables["T1"];

相關問題