ado 和 access 的数据查询语句问题。哪位有过类似SQL语句第一次运行成功,第二次运行报错的经历(50分)

  • 主题发起人 主题发起人 xuegaoyili
  • 开始时间 开始时间
X

xuegaoyili

Unregistered / Unconfirmed
GUEST, unregistred user!
stattext := 'select sum(fc_money) as t12,sum(fc_remainmoney) as t13,max(fc_money) as t1,min(fc_money) as t2,avg(fc_money) as t3,max(fc_remainmoney) as t4,min(fc_remainmoney) as t5,';
stattext := stattext + 'avg(fc_remainmoney) as t6,sum(FC_CardGuaranty) as t7,sum(fc_money-fc_remainmoney) as t8,max(fc_money-fc_remainmoney) as t9,';
stattext := stattext + 'min(fc_money-fc_remainmoney) as t10,avg(fc_money-fc_remainmoney) as t11 from fixrfcard ';

with datamodule1.CardkuADOQuery do ////用来查询售卡控制器地址信息
begin
CLOSE;
sql.Clear;
sql.add(stattext); /////Ri_ReaderID为3,表示该控制器为售卡控制器
try
OPEN;
except
EXECSQL;
end; ////执行查询

这段代码在调试模式下在第一次执行时没问题,但在第二次执行时就会报adoquery:field
'fc_money' not found。 在编译好的环境下执行也没事。请教一下为什么会这样呀。
 
try
OPEN;
except
EXECSQL;
end; ////执行查询
靠,你这段代码也太牛了!这是容错处理吗?
 
你的SQL语句在数据库里执行正不正确?如果行的话,那可能是你的控件的问题了,你也可以试着在open前加上一句Prepared准备语句试试看。
 
呵呵,本来那就是一个不好的习惯.不是容错处理.
我们后来感觉可能是调试时Delphi6在捣乱.所以现在认为在编译后是没问题的.因为结果也会出来.分就散了.
 
后退
顶部