大家好,我在做近削存的时候,出库的时候要多次修改数据库.请问可以用一个ADOQuery组件实现吗?//其中涉及到事务处理
try
adoconnection1.begentrins;
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第一条
try
adoquery1.excesql;
except end;
adoconnection1.begentrins;
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第二条
try
adoquery1.excesql;
except end;
.
.
.
adoconnection1.begentrins;
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第n条
try
adoquery1.excesql;
except end;
adoconnection.committrans;
except
application.messagebox('error','system');
end;
try
adoconnection1.begentrins;
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第一条
try
adoquery1.excesql;
except end;
adoconnection1.begentrins;
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第二条
try
adoquery1.excesql;
except end;
.
.
.
adoconnection1.begentrins;
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第n条
try
adoquery1.excesql;
except end;
adoconnection.committrans;
except
application.messagebox('error','system');
end;
adoconnection1.begentrins;
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第一条
try
adoquery1.excesql;
except end; adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第二条
try
adoquery1.excesql;
except end;
.
.
. adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(.................);//第n条
try
adoquery1.excesql;
except end;
adoconnection.committrans;
except
application.messagebox('error','system');
end;
我用过,这里我就不写了哈!其实自己试一下就行了~!
你的 adoconnection1.begentrins;只能有一个,这样才能达到目的。
try
adoconnection1.begentrins;
for i:=0 to length(ss)-1 do
begin
adoquery1.close;
adoquery1.sql.close;
adoquery1.sql.add(ss[i]);
adoquery1.excesql;
end;
adoconnection.committrans;
except
application.messagebox('error','system');
end;
这样就可以了,