N个EDIT随意结合查询

fangzheng33 2003-06-30 09:38:45
怎么做到N个EDIT随意结合查询
每个都有可能是空的
SELECT * FROM ??? WHERE A LIKE EDIT1。TEXT+‘%’ AND B LIKE EDIT2。TEXT+‘%‘AND 。。。AND N LIKE EDITN-1。TEXT+‘%‘’
我想这样不行的吧
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
benny87 2003-07-01
  • 打赏
  • 举报
回复
with adoquery1 do
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;
lovelymelon 2003-06-30
  • 打赏
  • 举报
回复
建议使用WNQueryEx控件,告诉我你的信箱,发一个给你
zhp97 2003-06-30
  • 打赏
  • 举报
回复
建议你用一常字符串来记录条件
我不是发给你了吗?
为了省去判断是否为第一个条件,这么写吧
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;
雨后阳光2000 2003-06-30
  • 打赏
  • 举报
回复
组合查询主要是SQL语句的where的书写。
你必须考虑多方的因素。
上面的就不错
gzyzljk 2003-06-30
  • 打赏
  • 举报
回复
with adoquery1 do
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;

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧