简单的办法就是定义一个变体变量数组array of variant; var arrFieldsValue: array of variant; i: integer; begin setlength(arrFieldsValue, query1.fieldcount); for i := 0 to query1.fieldcount - 1 do arrfieldsvalue[i] := query1.Fields[i].Value; query1.append; for i := 0 to query1.fieldcount - 1 do query1.Fields[i].Value := arrfieldsvalue[i]; end;
比较简单的办法是:
当你按下一个键的时候:
edit1.text:=DBGrid1.datasource.dataset.fieldbyname('record').asstring;
var
arrFieldsValue: array of variant;
i: integer;
begin
setlength(arrFieldsValue, query1.fieldcount);
for i := 0 to query1.fieldcount - 1 do
arrfieldsvalue[i] := query1.Fields[i].Value;
query1.append;
for i := 0 to query1.fieldcount - 1 do
query1.Fields[i].Value := arrfieldsvalue[i];
end;