最近用Adoquery遇到一个很困惑的问题。
例如:
with adoquery1 do
begin
close;
sql.clear;
sql.add('Select * from t1');
open;
end;
............................
with adoquery1 do
begin
close;
sql.clear;
sql.add('Delete from t2 where id=''1''');
execSql;
end; 如果照上面的写法,在某些机器上会出现错误。“Access viloation at address
1F487CAB in module 'msAdo15.dll'"
而有些机器上不会出现,这是什么原因呢?
怎么解决呢?当然用不同的Adoquery对象来分别操作上面的两个操作,是没有问题的。但这样做,程序修改量就太多了。
例如:
with adoquery1 do
begin
close;
sql.clear;
sql.add('Select * from t1');
open;
end;
............................
with adoquery1 do
begin
close;
sql.clear;
sql.add('Delete from t2 where id=''1''');
execSql;
end; 如果照上面的写法,在某些机器上会出现错误。“Access viloation at address
1F487CAB in module 'msAdo15.dll'"
而有些机器上不会出现,这是什么原因呢?
怎么解决呢?当然用不同的Adoquery对象来分别操作上面的两个操作,是没有问题的。但这样做,程序修改量就太多了。
拉一个回去吧。