直接用UpdateBatch(arAll)确实无法更新,这我已经多次实验,只有用两个循环逐条逐字段更新
;
var
ls_sql:string;
adoq1;adoq2:TAdoQuery;
begin
....
AdoConn.BeginTrans;
ls_sql:='select * from mydb';
adoq1.sql.add(ls_sql);
adoq2.loadformfile('backupfile');
while not adoq2.eof do
begin
adoq1.append;
for i:=0 to adoq2.fieldcount-1 do
adoq1.fields[i].value:=adoq1.fields[i].value;
adoq1.next;
end;
end;
DataConn.CommitTrans;