selecct * from table where field1 like 'v%' 如果是ADOQUERY就 adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('selecct * from table where field1 like ''v%'''); v代表若干个字符 ADOQUERY1。OPEN
高效Sql语句 Sql.Add(Format('select * from table where field1 like ''%s''',['%'+value1+'%']));
var sqlstr:string; begin sqlstr:='select * from table1 where field1 Like '+ '''%'+format('%s',[v])+'%'''; ... query1.sql.add(sqlstr); ... end;
query1.sql.Text := 'Select * from Table Where FieldName like %aa%'; query1.Open;
用like,%作为特殊符号代表任意长度、任意内容的串Select * from Table Where FieldName like '%AA%' 结果包含fieldName中具有AA的纪录,如:123AA,11AA222,123AAdiididid等
是啊,like,配合通配符"_"、"%"等
各位大哥大姐: 多谢你们的帮助了。 我想要的是动态查询,代码如下, s1: string; s2: string; begin with form1 do begin query1.Close; query1.sql.Clear ; s1 :=edit1.Text ; s2 :='select * from class1 where Name like ''%s1%''';///这里的s1能不能动太改变啊 query1.SQL.Add(s2) ; query1.Open; end; end;
既然s1是动态的,那么你的s2写法就错了,你这么写是查出name字段里包含's1'的记录,这里的s1只是一个字符串,不是你定义并赋值的s1.s2 :='select * from class1 where Name like ''%'+s1+'%''';
s2 :='select * from class1 where Name like ''%'+s1+'%''';
既然s1是动态的, s2 :='select * from class1 where Name like %'"'+s1+'"%';
如果是ADOQUERY就
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('selecct * from table where field1 like ''v%''');
v代表若干个字符
ADOQUERY1。OPEN
Sql.Add(Format('select * from table where field1 like ''%s''',['%'+value1+'%']));
sqlstr:string;
begin
sqlstr:='select * from table1 where field1 Like '+ '''%'+format('%s',[v])+'%''';
...
query1.sql.add(sqlstr);
...
end;
要实现在字段中的模糊查询,返回记录,并在网格中显示出来
在线等.
query1.Open;
结果包含fieldName中具有AA的纪录,如:123AA,11AA222,123AAdiididid等
多谢你们的帮助了。 我想要的是动态查询,代码如下,
s1: string;
s2: string;
begin
with form1 do
begin
query1.Close;
query1.sql.Clear ;
s1 :=edit1.Text ;
s2 :='select * from class1 where Name like ''%s1%''';///这里的s1能不能动太改变啊
query1.SQL.Add(s2) ;
query1.Open;
end;
end;
s2 :='select * from class1 where Name like %'"'+s1+'"%';