[英]DataTable row with changed data
我正在開發一個基於桌面的應用程序。 在該應用程序中,我只需要獲取修改后的行即可在數據庫中保存/更新。 為此,我使用了以下代碼:
DataTable modifiedTable = dt.GetChanges(DataRowState.Modified);
沒關系。 但是在這里,我只需要更改的那些列。 我不希望該列沒有任何更改。 因此,我可以記錄原始值以及修改/新值。 (提取程序,例如ms sql中的Change Data Capture(CDC))。
我該怎么做呢?
您可以使用OriginalValue和DataRow列值的當前版本,然后檢查它們是否不同
For Each row in table.Row
For Each col in table.Columns
Dim original = row[col.ColumnName] = row[col.ColumnName, DataRowVersion.Original].ToString()
Dim changed = row[col.ColumnName] = row[col.ColumnName, DataRowVersion.Current].ToString()
' Compare and prepare the SQL command to update only this changed column'
Next
Next
但是現在您面臨最大的問題。 您需要編寫代碼以僅更新該列。
(順便說一句,這是使用SqlDataAdapter和SqlCommandBuilder的原因之一)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.