满足多个条件的查询,应该怎么做呢?!

shawnlee 2003-06-19 11:37:35
本人用SQL语句,加上IF的判断条件来做的。在多个combobox中选择选项,以此(所选的项)做为条件,然后通过单击按钮来实现符合多个条件的或一个条件的查询,结果符合条件的记录显示在DBGrid中。
但在做当其中任何一个或多个combobox中为空值时(就是没有做出选择时),如何让SQL语句来实现:不去读取该空值而继续判断已经做出选择的combobox,从而显示出符合条件的记录.
或是如果你有好的方法来完成多个条件的查询,也劳架你帮帮我,好吗?谢谢!!!!
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
risingsoft 2003-06-21
  • 打赏
  • 举报
回复
EASY
lisen101 2003-06-21
  • 打赏
  • 举报
回复
另:还可以给变量设置 初始值,sql语句为固定式的!如果,该Combobox.text为空,则取默认值。比如: aa between ' ' and 'zz'
lxy13 2003-06-21
  • 打赏
  • 举报
回复
up
fuzhan820 2003-06-21
  • 打赏
  • 举报
回复
up
ruixi 2003-06-19
  • 打赏
  • 举报
回复
With Query1 do
Begin
Close;
Sql.Clear;
Sql.Add('Select * From TableName Where Names=''大虫子''');
IF Combobox1.Text<>'' then
Sql.Add('And Params1='''+Combobox1.Text+'''');
IF Combobox2.Text<>'' then
Sql.Add('And Params2='''+Combobox2.Text+'''');
IF Combobox3.Text<>'' then
Sql.Add('And Params3='''+Combobox3.Text+'''');
IF Combobox4.Text<>'' then
Sql.Add('And Params4='''+Combobox4.Text+'''');

.......
open;
End;
票票飞扬 2003-06-19
  • 打赏
  • 举报
回复
var sqlStr: String;
sqlStr := 'select * from tablename where 1=1 ';
if combobox1.itemindex <> -1 then
sqlStr := sqlStr + ' and a='''+combobox1.items[combobox1.itemindex]+'''';
if combobox2.itemindex <> -1 then
sqlStr := sqlStr + ' and b='''+combobox2.items[combobox2.itemindex]+'''';
.................
if comboboxN.itemindex <> -1 then
sqlStr := sqlStr + ' and N='''+comboboxN.items[comboboxN.itemindex]+'''';
Query1.Close;
Query1.Sql.Text := sqlStr;
Query1.Open;
hammer_shi 2003-06-19
  • 打赏
  • 举报
回复
根据是否为空拼写动态sql语句随后再执行

2,498

社区成员

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

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