怎么做到N个EDIT随意结合查询
每个都有可能是空的
SELECT * FROM ??? WHERE A LIKE EDIT1。TEXT+‘%’ AND B LIKE EDIT2。TEXT+‘%‘AND AND N LIKE EDITN-1。TEXT+‘%‘’
我想这样不行的吧
每个都有可能是空的
SELECT * FROM ??? WHERE A LIKE EDIT1。TEXT+‘%’ AND B LIKE EDIT2。TEXT+‘%‘AND AND N LIKE EDITN-1。TEXT+‘%‘’
我想这样不行的吧
解决方案 »
- 请问关于DBGrid的问题?
- 最近www.delphibbs.com登录不上去 ,是不是换地址了啊!望知道的同志告诉一下,谢谢了,,
- 20分求购InstallShield使用教程。
- win xp+sql server 2000的一个奇怪问题
- TQuery和TDBGrid控件连接后游标的问题!
- 请教STRING类型做为numeric数据类型字段的查询条件,(在线等候!!)
- 更新触发器--急急!
- Delphi中实现foxpro数据库中的&替换功能?
- 一个关于日期查询老问题,可是我还是不能解决问题
- 请问我下载的控件(creport.zip)该如何使用?(http://delphi.yesite.com/download_vcl/print/creport.zip)
- 怎样去掉DBGrid里的滚动条?
- 如何判断当年是否是闰年
begin
close;
sql.clear;
sql.add('select * from ???');
if trim(edit1.text)<>'' then
sql.add('where a like ')+trim(edit1.text)+'%';
if ...... //where在什么地方加可以用一个布尔值来判断!
.....
open;
end;
你必须考虑多方的因素。
上面的就不错
我不是发给你了吗?
为了省去判断是否为第一个条件,这么写吧
with adoquery1 do
begin
close;
sql.clear;
sql.add('select * from where 字段名<>...');//第一个条件在任何情况下都是满足的,这里为的是不用在后面有那么多判断。
if trim(edit1.text)<>'' then
begin
sql.add('and a like:bs1');
parameters.parabyname('bs1').value=trim(edit1.text);
end;
..........
end;
begin
close;
sql.clear;
sql.add('select * from ??? where 1=1');
if trim(edit1.text)<>'' then
sql.add(' and a like ''%'+trim(edit1.text)+'%''');
if ......
.....
open;
end;