回答
這裏的documentation:
當的AcceptChanges被調用時,任何 DataRow對象仍處於編輯模式 成功結束其編輯。 DataRowState也發生了變化:全部添加了 ,並且修改的行變爲未更改, 並刪除了刪除的行。
AcceptChanges方法一般 叫上一個DataTable是後你 嘗試更新使用 的DbDataAdapter.Update方法的數據集。
因此,您的實際數據庫不受影響。
只會影響數據表。沒有任何數據庫表。
AcceptChanges()的目的是讓DataTable知道它的數據已被保存到數據庫中。 DataTable中的所有DataRows都將其row.RowState設置爲DataRowState.Unchanged。
它不會將數據保存到數據庫。這是分開完成的。
這仍然有點混淆......如果我添加一行,並將其標記爲ADDED,似乎通過調用DT.ACCEPTCHANGES,該行的狀態變爲UNCHANGED ...我想混淆起作用,如果這樣做後,我做一個DATAADAPTER.UPDATE (DT),這個調用看看現在的UNCHANGED狀態,而不是試圖改變數據庫嗎?或者相反,不管DT行狀態如何,UPDATE都會將DATATABLE中的行與數據庫中的行進行比較? – flaZer 2014-12-30 00:41:26
好吧,如果我正確讀取它,看起來像DA.UPDATE(DT)之前調用DT.ACCEPTCHANGES的代碼,阻止dataadapter做它的事情。 也就是說,如果在數據表中添加/刪除/更新一行,執行ACCEPTCHANGES,然後執行DA.UPDATE(DT),則UPDATE方法將不會處理該行,因爲對於該行,「行」不變。 所以看起來真的,稱它爲本質上阻止到達數據庫的變化? http://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.update(v=vs.110).aspx – flaZer 2014-12-30 00:47:01
DataAdapter通常管理DataRow.RowState屬性。它使用DataRow.RowState來確定對該行採取的操作。如果給定行的RowState是DataRowState.Unchanged,則該行不會執行任何操作。 – 2014-12-30 03:14:17
有些人選擇操縱數據表中的數據,例如刪除某些行或將所有名稱掛在大寫字母上。刪除NULL
的等等。
AcceptChanges
只是將這些更改保存到數據表中。
如果要提交更改,需要使用dataadaptor或使用其他方法從數據表中的數據行獲取數據並提交更改。
我的看法不同。你說過:''AcceptChanges'只是將這些更改保存到數據表中。'但這些更改實際上已保存到DataTable中。 AcceptChanges確實將當前的變化「標記」爲不再變化。就這樣。 – 2016-09-06 20:46:37
在我來說,它是由數據庫自動編號字段造成的,我建議如下 調用數據適配器的更新methof 呼叫更新 ///自動編號列 的數據表
調用acceptChanges然後再通過oledbadapter填充表格。如果你不需要自動編號字段,不要將其作爲參數添加到oledbadapter的deletecommand中
好的 - 如果我有這個權限,顯式調用DT.CommitChanges()會將所有行設置爲UNCHANGED。如果是這樣,當調用DA.UPDATE(DT)時,對數據表所做的任何更改都將被忽略。
因此,您應該只針對那些您不想訪問數據庫的更改調用DT.CommitChanges()。
因此,無論是否使用CommitChanges調用,都要將其更改爲.NET數據表,但要更改數據庫表,請不要在執行DA.Update之前調用CommitChanges。當然,這意味着必須調用DA.Update實際上將更改推送到數據庫...
- 1. 未能提交表單數據提交
- 2. 如何在extjs 4.2中提交表單的提交數據?
- 3. 提交表格將不會提交數據到數據庫
- 4. 提交表單數據?
- 5. Infopath表單數據提交
- 6. HTML表單提交數據
- 7. 發表的數據表格提交
- 8. zendframework中的數據提交
- 9. 當提交表單時數據庫中沒有數據時使用servlet提交
- 10. 提交表單重新提交相同的數據
- 11. 確定Orbeon表單提交數據中的數據類型
- 12. WordPress的表單不提交數據
- 13. 保留提交的JSP表單數據
- 14. Django的不提交表單數據庫
- 15. 2表單提交相同的數據
- 16. JavaScript onunload表單提交沒有提交數據
- 17. 使用ajax提交表單提交到WordPress數據庫
- 18. 在表單提交期間提交數據
- 19. php表單數據沒有正確提交到數據庫中
- 20. 創建表單以將數據提交到wordpress數據庫中
- 21. 如何在Umbraco表格中顯示提交的表格數據
- 22. 從提交的數據庫中提取數據庫
- 23. 角度提交表單數據
- 24. Infopath數據提交到Sharepoint表單庫
- 25. Jquery - 表單數據提交功能
- 26. Wicket表單缺少提交數據
- 27. 表格不提交移動數據
- 28. 表單不提交發布數據
- 29. 無法提交表單到數據庫
- 30. 提交表格與添加JSON數據
DataTable。不是db中的表格。 – 2011-04-19 18:15:36