一个关于SQL的查询条件问题(50分)

  • 主题发起人 主题发起人 郭剑南
  • 开始时间 开始时间

郭剑南

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟最近在一个软件中,用SQL查询中:
select * form temp
where xm Like '%:a%'
其中 :a 为想做为一个参数,在DELPHE中我该怎么添加这一句呢?第一句为
query1.sql.add('select * from temp'); 而条件那一句就不知道该怎么写了!一是因为
有个参数,二是因为有个单引号。
请各位兄弟帮助,小弟先谢过了!
 
'where xm like '+''''+'%:a%'+''''
应该行吧!
 
不过用一个:a就可以传递%yourvar%吧!
 
用format吧!
function ss(s1,s2,s3):string;//分别设类型
begin
result:=format('select * from temp where xm lik % :a%',[s1,s2,s3]);
end;
传递参数时,
ss(s1,s2,s3);
 
刚才写错了,只有两个参数,s1,s2 :-)
 
SQl=Format(' Select * from Temp where Xm Like %s ',[''''+a+'%'+''''])
 
query1.sql.add('select * form temp where xm Like ''%:a%''')
query1.parambyname('a').asstring:='asdf';
query1.execsql
可以了
 
字符串中用两个连续的单引号表示一个单引号。
知道这一点,就该知道怎么做了吧。
 
拜托大虾们,你们会不会SQL,因该这么写
query1.sql.add('select * form temp where xm Like :a')
query1.parambyname('a').asstring:='%' + 'jedei' + '%'
query1.Open;
 
Jedei兄,
你何苦要说“拜托大虾们,你们会不会SQL,因该这么写”,你的这个大家都会,但如果
你哪次丢了一个'%' ,怎么办?
呵呵
 
干嘛非得用参数:
定义一个变量(s:string)
'select * from table1 where field1 like '+quotedstr('%'+s+'%')
 
多人接受答案了。
 
后退
顶部