2017-06-16 83 views
0

我目前正在研究連接到Access數據庫的VB程序。我使用查詢和數據適配器填充數據表。在程序的後期階段,我想通過適配器和表格對數據庫進行永久更改。我嘗試這樣做:使用表格適配器和數據表格更新數據庫

For Each row As DataRow In db.DBDT.Rows 

      row("fldsentda") = "Y" 
      row("flddasenddate") = Date.Today 
     Next row 


     'db.DBDT.AcceptChanges() 
     db.DBDA.Update(db.DBDT) 

* DB是一個類文件,DBDA是數據適配器,DBDT是數據表

但我意識到這些變化隻影響數據表,而不是實際的數據庫。我怎樣才能得到它只會影響使用查詢填充的數據表內的數據庫行?

更新:我在想我的更新函數沒有寫入。我不知道這是否應該是一個單獨的問題,但我該如何編寫更新函數來更改數據庫中已更改的數據庫中的字段?

+0

使用DataAdapter將更改發送到數據庫 - 'myDA.Update(myDataTable)'當你在那種迷迷糊糊的,你可以存儲任何數量的DataTable中的添加/刪除/修改,並一次全部更新DB (和經濟上)。 – Plutonix

+0

感謝您的評論。是不同於最後一行,「db.DBDA.Update(db.dbdt)」?? – bigboi214

+0

擺脫AcceptChanges'這並不做你認爲它 – Plutonix

回答

1

不要叫

db.DBDT.AcceptChanges() 

db.DBDA.Update(db.DBDT) 

否則不會改變,從而標誌着該數據表的一切。特別是在備註部分,請參閱here

只需調用Update方法和AcceptChanges的應該自動爲您調用。

+0

謝謝。我把那行代碼拿出來了。 – bigboi214