我在.NET中創建一個新的項目(2010年4.0),並增加了SDF數據文件。我已經生成了一個數據集並在其中創建了一個表(我相信生成了Fill和其他方法)。淨簡單的數據文件用途
在代碼中,我試圖將一行添加到數據庫中。
eBureauScrubber.App_Data.matchingtempDataSet ds = new App_Data.matchingtempDataSet();
eBureauScrubber.App_Data.matchingtempDataSet.ctfFileRow row = ds.ctfFile.NewctfFileRow();
row.Address = "123 Main St.";
row.City = "Overland Park";
row.FirstName = "Matt";
row.LastName = "Dawdy";
row.rownum = 1;
編輯:增加了下一個代碼位。
ds.ctfFile.Rows.Add(row);
ds.ctfFile.AcceptChanges();
ds.AcceptChanges();
eBureauScrubber.App_Data.matchingtempDataSetTableAdapters.ctfFileTableAdapter ctfa = new App_Data.matchingtempDataSetTableAdapters.ctfFileTableAdapter();
ctfa.Update(ds.ctfFile);
這運行良好。但是,程序完成後,數據不會保留在數據庫中。我錯過了什麼?
編輯:我試過的AcceptChanges()的數據表,該數據集的所有不同的組合,運行update()前,後,等我失去了一些東西在這裏巨大。我甚至不確定它是否連接到「正確的」數據庫。也許這是我的問題。
編輯2:這是我獲得這項工作(它仍然時髦,雖然)。
- 變化的App_Data我的數據庫文件的屬性爲「不復制」
- 手動複製數據庫文件到BIN \調試\ app_data文件
- 使用數據適配器的填充方法來填充ds.ctfFile數據表。
- 創建一行(.NewctfFileRow())
- 在該行上設置值。
- ds.ctfFile.Rows.Add(row)
- ds.ctfFile.AcceptChanges();
- ds.AcceptChanges();
- 調用adapater的更新方法。
現在,數據在我的數據庫文件中(在bin \ debug \ app_data中),但由於數據源連接,我看不到它。我仍然試圖找出如何做到這一點。
不接受更改僅在內存中更新它?你需要調用適配器的Update方法來更新數據庫。 – WorldIsRound 2011-03-22 17:00:31