有表XX(字段X1,X2),表YY(字段Y1,Y2)adoquery中:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select a.* from XX a,YY b from a.X1=b.Y1 and a.X2=b.Y2');
adoquery1.open;这样写报错,请问 如何改???
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select a.* from XX a,YY b from a.X1=b.Y1 and a.X2=b.Y2');
adoquery1.open;这样写报错,请问 如何改???
select a.* from XX a,YY b Where a.X1=b.Y1 and a.X2=b.Y2'??
sSql: String;
sSql := 'select * from Table';
with FGasQuery do
begin
Close;
SQL.Text := sSql;
Open;
end;这样写吧,到时出错了也可以把SQL语句给调试时取出 看错在什么地方
这样可以设置断点方便调试
先看看你的语句写得有没有问题啊?
如果有问题 根据问题再改改
这样效率就提高了
show出来 就这个 'select a.* from XX a,YY b where (a.X1=b.Y1) and (a.X2=b.Y2)'
在 Active设为true时 报:Access violation as adress 005297B3 in Module '123.exe'.read of address 00000000
2、如果Query不是自己创建的 那么试下面这个SQL呢
select a.x from XX as a,YY as b where a.X1=b.Y1 and a.X2=b.Y2
这个form同时继承 父form中的一个adotable ,
在父form中adotable是Active=true的,
我把这个 子form中的继承来的adotable的Active=FALSE时,
当adoquery。active:=true(adoquery只在 子form中,父form中无adoquery)时就报错了;当我把 子form中的adotable.Active:=true时,adoquery就正常使用了,不知道为何????查了好久,居然是这个原因......搞不懂ing......有谁给解释下不?
我也是这么想的 但是 就是报错。没办法,全部注释掉,再一点一点的取消注释,就发现了这个情况,然后再把别的注释掉,就留adotable.active:=true它就正常,false就报错,郁闷了ps:adoquery 的连接 是对的