关于TclientDataset的问题(只修改结果,不修改数据库)(100分)

  • 主题发起人 主题发起人 瞿巫西
  • 开始时间 开始时间

瞿巫西

Unregistered / Unconfirmed
GUEST, unregistred user!
因为我TDBGRID是连的TclientDataset,现在我想要修改TclientDataset中的结果用于显示,但又不想修改数据库中的数据,请问如何实现
 
启用缓存更新
 
可以详细点不,我原来是用VC的,因为要做CS才用这些东西,不太熟悉<br>例代码:<br>&nbsp; J := 0;<br>&nbsp; ClientDataSet1.First;<br>&nbsp; while not ClientDataSet1.Eof do<br>&nbsp; begin<br>&nbsp; &nbsp; if Datapub.Instaff(sRepeatList,inttostr(J)) then //如果这个数据是重复的,那么就处理<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; ClientDataSet1.FieldByName('处理结果').AsString := '数据抵消';<br>&nbsp; &nbsp; end;<br>&nbsp; &nbsp; J := J + 1;<br>&nbsp; &nbsp; ClientDataSet1.Next;<br>&nbsp; end;
 
ClientDataSet1.FieldByName('处理结果').AsString := '数据抵消';<br>要想让这个结果用于显示,但又不想修改数据库中的数据,请问如何实现
 
TClientDataSet本身就是在內存中建立個虛擬表的。只要不執行TClientDataSet.ApplyUpdates()就不會去修改數據庫
 
樓上的說的對
 
谢谢,我试试先
 
不執行TClientDataSet.ApplyUpdates()
 
ClientDataSet1.Next;<br>数据集的滚动会自动出发post的;<br>把clientdataset关联的数据集,假如是adoquery的话,<br>把adoquery的locktype设置为ltBatchOptimistic,<br>同时不要执行TClientDataSet.ApplyUpdates()
 
后退
顶部