2013-05-03 178 views
0

我想在DataGridView中更改後更新數據庫。DataGridView到MS Access數據庫

改變代碼幾次之後,我得出這樣的一行代碼:

primeTableAdapter.Update((PrimeDataSet.PrimeDataTable)(primeDataSet.Tables["Prime"])); 

該方法返回正確的行數添加/編輯並再次輸入形式,但不關閉整個應用程序的一切看起來很好。新行保存在DataGridView中。但是,Access文件沒有改變一點,所以當我重新啓動應用程序時,它們消失了。

我必然會使用「添加新數據源」嚮導在DataGridView表和我使用Visual Studio 2010中

我也發現代碼爲:Inserting data from a DataGridView to a database,似乎相似我必須做什麼,但我無法將vb.net代碼翻譯成可編譯的東西。但是,我相當肯定它確實非常接近我必須做的事情。

後來編輯:我已經將數據庫添加到項目。通過將複製到輸出目錄屬性設置爲複製(如果更新),更改在會話之間持續存在。

+0

爲了正確地更新適配器,您需要將適當的INSERT,UPDATE,DELETE命令連接到它。您還需要確保DatagridView綁定到DataTable,以便您在DGV中進行的所有操作都會反映到基礎數據源中。 – Derek 2013-05-03 15:09:58

+0

嚮導照顧了這一點。 DataGridView也綁定到DataTable ... – 2013-05-03 15:41:42

+0

如果您需要了解您的操作,我不會依賴於嚮導。首先編碼,如果你是新手。 – Derek 2013-05-03 15:50:27

回答

0

我想我們需要看到更多的代碼。 this link可能會有所幫助。這是對這種事情最好的幫助,imo。

+0

非常感謝您的鏈接!它確實是一個很好的資源!正如我在主帖的編輯中所陳述的那樣,我已經設法使這些更改在會話之間持續存在,但是要感謝您的幫助! :) – 2013-05-04 08:53:57

1

如果你要支付,也可以使用第三方(石塔數據導出),它使事情變得更加容易:保存數據網格成MSACCESS:

private void btnExportToAccess_Click(object sender, EventArgs e) 
    { 
     Spire.DataExport.Access.AccessExport accessExport = new    
     Spire.DataExport.Access.AccessExport(); 
     accessExport.DataSource = Spire.DataExport.Common.ExportSource.DataTable; 
     accessExport.DataTable = this.dataGridView1.DataSource as DataTable; 
     accessExport.DatabaseName = @"..\..\ToMdb.mdb"; 
     accessExport.TableName = "ExportFromDatatable"; 
     accessExport.SaveToFile(); 
    } 

Here一個鏈接,你可以找到更多的澄清