我目前正在处理连接到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 :(得分:1)
不要打电话
db.DBDT.AcceptChanges()
前
db.DBDA.Update(db.DBDT)
这样做会将数据表中的所有内容标记为未更改。请参阅here,尤其是备注部分。
只需调用update方法,就可以自动调用acceptchanges。