我想知道我的資料表中的行是否更改了值,如何檢查?我有一個 Datatable 有資料,我通過網格視圖對此資料進行了一些更改,所以我可以檢查哪些行已更改。
uj5u.com熱心網友回復:
每個DataRow都有一個RowState。當您DataTable通過呼叫Fill資料配接器填充 a 時,所有行都以Unchanged. 當您添加一行時,值將是Added,當您編輯現有行時,值將是Modified,當您洗掉現有行時,值將是Deleted。
請注意,當您呼叫Fill資料配接器時,行最初將添加 a RowStateofAdded但隨后AcceptChanges被呼叫,它們將全部設定為Unchanged。如果您設定AcceptChangesDuringFill為Falsefirst,它們將全部保留Added。例如,當您想從一個資料庫中檢索然后插入另一個資料庫時,這很有用。
當您呼叫Update資料配接器以保存更改時,AcceptChanges隨后會呼叫所有Added和Modified行,并洗掉Unchanged所有行。Deleted如果您設定AcceptChangesDuringUpdate為False第一個,它們將保持原樣。例如,當您想要將更改從一個保存到多個表時,這很有用DataTable。如果您想AcceptChanges繼續使用DataTable.
請注意,每個都DataRow包含其資料的兩個版本:原始資料和當前資料。當您從 a 中的欄位獲取資料時,DataRow您將默認獲取當前版本,但您可以指定您想要的版本。如果RowState是,Added則原始版本為空,如果RowState是,Deleted則當前版本為空。當AcceptChanges被呼叫時,當前版本將被復制到原來的版本中,這些行是Added或Modified。
您還可以呼叫GetChangesa DataTable,它將回傳Nothing或DataTable僅包含更改的行的新行。您還可以指定一個或多個DataRowState值并僅獲取該型別的更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/459297.html
標籤:VB.net
上一篇:SQL查詢中的VBIf陳述句
