使用ADO执行一个汇总查询后如何离线修改数据?(100分)

  • 主题发起人 主题发起人 testPC
  • 开始时间 开始时间
T

testPC

Unregistered / Unconfirmed
GUEST, unregistred user!
ADODataSet1.CommandText:='SELECT Field1,SUM(Total) as Total FROM Table1 GROUP BY Field1'
ADODataSet1.Open;
..........//定位到需要修改的行
ADODataset1.Edit;
ADODataset1.FieldValues['Total']:=100;
ADODataset1.Post;
提示该值不能修改,请教各位大侠,如何在汇总查询结果出来后,能够再次修改数据?
即离线状态下修改数据
小弟在这先谢过大家了
 
读进内存表中修改吧
 
你可以装数据集读进RXMemy中进行修改.
 
也可以用clientdataset。
 
可否给出示例代码?
 
procedure TForm1.Button1Click(Sender: TObject);
var dsp:TDataSetProvider;
begin
dsp:=TDataSetProvider.Create(nil);
try
ADODataSet1.Close;
ADODataSet1.CommandText:='SELECT Field1,SUM(Total) as Total FROM Table1 GROUP BY Field1';
ADODataSet1.Open;
ADODataSet1.Fields[1].ReadOnly:=False;
Dsp.DataSet:=ADODataSet1;
ClientDataset1.Data:=dsp.Data;
ClientDataSet1.Fields[1].ReadOnly:=False;
finally
freeandnil(dsp);
end;

..........//定位到需要修改的行
ClientDataSet1.Edit;
ClientDataSet1.FieldValues['Total']:=100;
ClientDataSet1.Post;
end;
 
谢过各位大侠了
 
多人接受答案了。
 
后退
顶部