【发布时间】:2014-11-03 00:45:05
【问题描述】:
嗨,我在 Delphi 中遇到了 TClientDataset 的问题。我想获得一个带有更改数据的数据集。
这是我的代码:
procedure TForm2.btnUpdateClick(Sender: TObject);
var
I: Integer;
counter : Integer; //for testing
value : String;
begin
if not Self.DatasetArtikel.Active then
begin
ShowMessage('Nicht aktiv');
Exit;
end;
if Self.DatasetArtikel.ChangeCount = 0 then
begin
ShowMessage('Delta is empty');
Exit;
end;
counter := DatasetArtikel.ChangeCount;
//DatasetArtikelUpdate.ClearFields;
//DatasetArtikelUpdate.CreateDataSet;
DatasetArtikel.Data := Self.DatasetArtikel.Delta; //here i want to transfer the changed data
Release;
//for I := 0 to DatasetArtikelUpdate.Fields.Count -1 do
// if not DatasetArtikelUpdate.Fields[I].IsNull then
// value := DatasetArtikelUpdate.Fields[I].NewValue;
value := DatasetArtikel.Fields[2].OldValue;
value := DatasetArtikel.Fields[2].Value;
value := DatasetArtikel.Fields[2].NewValue; //here i want the new data
end;
例如:在第 3 列中是文本 blueblue,我将其更改为 redred。计数器说我更改了 1 是正确的,但值说我字符串是 blueblue...但我想要数据 redred :((
【问题讨论】:
-
你不能只使用原始数据集(不是增量)来获取新值吗?如果没有看到 TPacketDataSet.InitAltRecBuffers
标签: delphi delphi-xe6 tclientdataset delta tgrid