
大致功能是這樣:就是為了報個更新日志,日志的內容是哪一行的哪些資料更新過了。
比如我現在有上圖這個dataview 叫它表A。然后現在把它復制一份出來,叫表B。
然后我對表B里面的資料進行更新(只修改資料,不增加或者洗掉行或者列),除了mc那一列的資料不做修改,其他的資料都可能會修改。修改完成后,我想做一個更新日志,只要某一個行的資料有過改動,和原表A的不一樣,就把這行的Mc和修改的內容記錄并能查找出來。
PS:之前我有類似的需求,當時只有兩列,所以我用了TDictionary的結構,但是它只能記錄并查找2個string資料。
NewList := TDictionary<string, string>.Create;
OldList := TDictionary<string, string>.Create;
現在需要記錄不止兩個資料,各位有沒有什么好的方法?用Tstring還是其他什么的結構來記錄查找這些資料。
uj5u.com熱心網友回復:
為此表,增加一個臨時欄位, 型別bit。這樣,讀取資料后,該欄位為False:1、新增行,該行的臨時欄位為True;
2、修改后,該行的臨時欄位為True;
列印表時,當該行的臨時欄位為True,就列印。
uj5u.com熱心網友回復:
1、操作不會增加行
2、修改后臨時欄位為true,我現在就是不知道該怎么判斷這一行的資料被修改過了。。。
uj5u.com熱心網友回復:
監控資料變化交給資料庫效率更高,比如用觸發器、CDC功能。如果你用逐條查詢對比的方式來監控,只需要中間變數來暫存,普通字串、整數變數就可以啊。復雜一點可以用記錄型別、或宣告一個類用陣列或串列管理。uj5u.com熱心網友回復:
如果你C/S模式,可以利用ClientDataSet的Delta,記錄了變化的資料。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/58219.html
標籤:數據庫相關
