adoquery模糊参数查询问题(在线等待)(10分)

  • 主题发起人 主题发起人 patriot
  • 开始时间 开始时间
P

patriot

Unregistered / Unconfirmed
GUEST, unregistred user!
用adoquery查询数据库,edit1.text的文本作为条件如下

with adoQuery1 do
begin
Close;
Sql.Clear;
SQL.Add('select * from cipher where cus_serial='''+edit1.text+'''');
open;
end;

若把edit1.text的文本作为模糊查询条件怎么改?
 
//以edit1.text的文本作为开始的substring
....
....where cus_serial like ''' + edit1.text + '%''');
....
 
可以格式化字符串
var
sqlstr: string;

with adoQuery1 do
begin
Close;
SQL.Clear;
sqlstr := 'select * from cipher where cus_serial = %s';
SQL.Add(Format(sqlstr,[edit1.text]);
Open;
end;
 
下面条件查询,怎么改,最好前后都加%,谢谢
SQL.Add('select * from cipher where cus_serial='''+edit1.text+''' or cus_key='''+edit2.text+'''');
 
SQL.Add('select * from cipher where '+edit1.text);
=========
在 edit1 中录入完整的条件。
 
with adoQuery1 do
begin
Close;
Sql.Clear;
SQL.Add('select * from cipher where cus_serial=''%'+edit1.text+'%''');
open;
end;
 
可以使用参数呀
with adoquery1 do begin
Close;
SQL.clear;
SQL.add('select * from cipher where cus_serial = :a or cus_key = :b');
Parameters.Parambyname('a').value := edit1.text;
parameters.parambyname('b').value := edit2.text;
Open;
end;
 
接受答案了.
 
后退
顶部