我要对一个listbox的值进行查询,开始我是用的query是这样写的:ADD('SELECT * FROM xxx WHERE LTRIM(RTRIM(hao)) in :(hao1) ');PARAMBYNAME('hao1').ASSTRING:=aa;open;(aa在前面已由循环赋值为listbox的值的字符串累加,例如:aa:='2000,2001,2002,2003'可是一执行,始终查询不到数据。(后台是oracle7.3,用BDE)
我怀疑是BDE的Database Driver的问题,但一时也不好更改,只好用其他方法。
我将sql中的in改用or,利用循环:ADD('SELECT * FROM xxx WHERE LTRIM(RTRIM(hao)) in :(hao1) ');PARAMBYNAME(hao1').ASSTRING:=listbox1.items[0];for i:=2 to listbox1.items.count+1 dobegin ADD('or LTRIM(RTRIM(hao))=:hao&i '); PARAMBYNAME(hao&i').ASSTRING:=listbox1.items[i]; end;open;
结果查询是查出来,但始终只有首尾两条记录,还是不行,后来我知道了delphi里没有
&宏变量的用法。我现在实在没有什么好办法了,help me !!!
我怀疑是BDE的Database Driver的问题,但一时也不好更改,只好用其他方法。
我将sql中的in改用or,利用循环:ADD('SELECT * FROM xxx WHERE LTRIM(RTRIM(hao)) in :(hao1) ');PARAMBYNAME(hao1').ASSTRING:=listbox1.items[0];for i:=2 to listbox1.items.count+1 dobegin ADD('or LTRIM(RTRIM(hao))=:hao&i '); PARAMBYNAME(hao&i').ASSTRING:=listbox1.items[i]; end;open;
结果查询是查出来,但始终只有首尾两条记录,还是不行,后来我知道了delphi里没有
&宏变量的用法。我现在实在没有什么好办法了,help me !!!
解决方案 »
- 大家讨论下DELPHI面向对象编程的方面。很少人讨论这个。
- delphi 里面当选择了combobox的值后 如何让这个combox失去焦点?
- 有谁用Delphi做过QC品质控制图表(P,U,C)? 现在数据算出了,但我没找到支持这种图表的控件, 有没有三方控件?
- 请教installshield中的一个问题
- 请问??
- 散分:上CSDN两周年!
- 关于TDBGridEh控件的滚动条问题
- 如何判别access中的表是否存在,如果存在则删除!
- Active Form中加入IndyUDPServer
- 请几位高手告诉我QQ,我问你问题,关于一个挺复杂的问题还有图,只好用EMAIL或QQ传!
- 请问一个菜鸟问题?package com.sun.java.swing does not exist
- 请所有的兄弟姐妹都进来看看,帮帮忙呀!(在线等待,急呀!快被炒鱿鱼了)!
ADD('SELECT * FROM xxx WHERE LTRIM(RTRIM(hao)) in ('+aa+') ');open;
ADD('or LTRIM(RTRIM(hao))=:hao&i '); 改为
ADD('or LTRIM(RTRIM(hao))=:hao'+inttostr(i));不就行了吗?
我试了,怎么报:“SQL COMMAND NOT PROPERLY ENDED!”