Delphi+ADO+SQL Server,模糊查询 (100分)

  • 主题发起人 主题发起人 seeme
  • 开始时间 开始时间
S

seeme

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQuery1.sql.add('select * from test1');
ADOQuery1.sql.add(' where field1 like "+'%'+edit1.text+'%'+'"');
也不行,请各位指点。
 
ADOQuery1.sql.add('select * from test1 ');
ADOQuery1.sql.add(' where field1 like ''%'+edit1.text+'%''');
 
var s:string;
s:='%'+edit1.text+'%';
adoquery1.sql.add('select * from test1 where field1 like :s_value');
parameters.parambyname('s_value').value:=s;
 
星空的办法好。因为你不可预计 edit1.text 中用户输入了些什么,
如果有 ',",%,空格 或者其他的字符,那么直接组合的SQL语句会出错。
 
select * from test1 where field1 like "%"+edit1.text+"%"
 
Delphi只认识单引号不认识双引号,把"改成'即可。
 
panyongze, 是对的,去掉双引号,改单引号及可!!
 
ADOQuery1.sql.add('select * from test1');
ADOQuery1.sql.add('where field1 like ''%'+edit1.text+'%''');
注意全是单引号
 
呵呵,全部说完了。
 
建议用 星空 的方法。
 
用参数最好,可以少许多麻烦.不过,我记得DELPHI中也支持双引号呀.
 
接受星空的答案,谢谢各位。
 
后退
顶部