读书人

delphi 中的SQL语法问T解决思路

发布时间: 2012-03-27 13:44:24 作者: rapoo

delphi 中的SQL语法问T,
adoquery1.SQL.add( 'select * from kehu1 where 类别 like % ' ' '+edit3.text+ ' ' '% ');

 这个语法有问题,我想把输入到Edit3中的文本做为关键字进行模糊查询,这个怎么写  ' ' '和%

[解决办法]
不是Sql语法问题,是拼字符串的问题,假设edit里面写的是aaa
最终sql
select * from kehu1 where 类别 like '%aaa% '
Delphi字符串是,因为要把里面的 '换成 ' '
'select * from kehu1 where 类别 like ' '%aaa% ' ' '
改成拼接就是
'select * from kehu1 where 类别 like ' '% ' + aaa + '% ' ' '
最终
'select * from kehu1 where 类别 like ' '% ' + edit3.text + '% ' ' '

这种引号挤在一起很烦,我一般这么写
Format( 'select * from kehu1 where 类别 like ' '%s% ' ' ', [edit3.text]);

更正规的办法是用query的参数Params,把edit3.text传进去。具体写法你查查help吧。


读书人网 >.NET

热点推荐