注册 登录
编程论坛 Delphi论坛

这个我真的不知道错在那里。。请哪位高手帮忙看看好吗?

千羽 发布于 2005-04-29 20:22, 1026 次点击

adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add('select * from shopinformation where ShopType='''+edit3.text+''''); adoquery1.Open; adoquery1.ExecSQL;

怎么查不出条件的东西的。。有的得有的不得。好象是只要这条语句有中文的就不得。。是什么原因啊。。大家帮忙看看好吗??

8 回复
#2
空前2005-04-30 14:40
adoquery1.ExecSQL;

这句有问题,改成:adoquery1.open;

select 用  open

其它的用  execsql
#3
zzzzz79012005-05-08 14:21
adoquery1.SQL.Add('select * from shopinformation where ShopType='''+edit3.text+'''');
这句的最后是不是多了一个  '  符号啊。
#4
yhstl2005-05-15 19:06
ddddddddddd
adoquery1.clear;
adoquery1.sql.add('select * from tablename where fieldname=:edit2.text');
adoquery1.parameters[0].value:=edit2.text;
adoquery1.open;
#5
luperfect2005-05-21 22:31
adoquery1.Open;
adoquery1.ExecSQL;不能同时使用
#6
coderpub2005-05-24 08:37
adoquery1.ExecSQL;这句去掉
#7
68224212005-06-12 22:55
一般情况下如果是SELECT 的话就用OPEN,其他的情况用EXCSQL
我觉得在SQL语句中单引号总容易引起混淆,我建议先申明一个变量VAR
然后在SQL中调用
select * from tablename where fieldname1=:var1 and fieldname2=:var2....
然后adoquery.parameter.parambyname().value:=var1;
       adoquery.parameter.parambyname().value:=var1;
这样就可以了。
#8
wolf2005-06-21 00:19
简单的说就是:

返回值用:open

不返回值用:excsql
#9
齐齐2005-06-30 15:37
不用execsql,应该可以
1