Y
yhcustc
Unregistered / Unconfirmed
GUEST, unregistred user!
在ClientDataSet.Delta的修改行里如何知道修改的了哪些列和key(主键),以便生成sql语句或者调用存储过程
通过用temp_cds.data := cds.Delta可以知道所操作的数据集,
当 cds.data 一行数据发生改变,那么 cds.Delta就会两行数据产生(一行是原始数据,另行就是所修改后的值),
temp_cds.data := cds.Delta;
while not temp_cds.eof do
Begin
if (temp_cds.updateStatus = usModified) then
Begin
ShowMessage( '该行数据是修改过的,但是我怎样知道哪些列被修改了?');
end;
if (temp_cds.updateStatus IN [usInserted, usDeleted]) then
Begin
ShowMessage( '新增、删除的行容易处理。 ');
end;
end;
通过用temp_cds.data := cds.Delta可以知道所操作的数据集,
当 cds.data 一行数据发生改变,那么 cds.Delta就会两行数据产生(一行是原始数据,另行就是所修改后的值),
temp_cds.data := cds.Delta;
while not temp_cds.eof do
Begin
if (temp_cds.updateStatus = usModified) then
Begin
ShowMessage( '该行数据是修改过的,但是我怎样知道哪些列被修改了?');
end;
if (temp_cds.updateStatus IN [usInserted, usDeleted]) then
Begin
ShowMessage( '新增、删除的行容易处理。 ');
end;
end;