多条件筛选..怎么设变量啊

jason19810924 2011-07-01 04:26:33
select * from tb where tb.a=C or tb.a=D or tb.a=E

或者

select * from tb where tb.a in (c,d,e)

这有多种选择,Delphi怎么设置变量来取c,d,e啊
...全文
127 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
shijies 2011-07-09
  • 打赏
  • 举报
回复
三楼应该是用EDIT1和EDIT2输入参数。
xiaoxueren1983 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yqdragon 的回复:]
用户自己组合好了
combobox1用于选择连接符,and 或 or等
combobox2用于提取该表所有字段
combobox3用于选择比较符,>,<,=等
combobox4用于选择或输入值
按钮 累加组合,可多次按 组合成SQL语句,初始时sqlstr := 'select * from 表 where (1=1) ';
[/Quote]

用这个应该能符合楼主的要求了,就是要自己写个界面来组合
jason19810924 2011-07-07
  • 打赏
  • 举报
回复
三楼取的值看不明白
andylist 2011-07-06
  • 打赏
  • 举报
回复
用参数PARAMETER.
例如3楼所说的。
cntigercat 2011-07-06
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 jason19810924 的回复:]

我知道..但如果条件有N个.选N个Edit,combobox控件..
[/Quote]
好像只能这样
jason19810924 2011-07-06
  • 打赏
  • 举报
回复
我知道..但如果条件有N个.选N个Edit,combobox控件..
jason19810924 2011-07-05
  • 打赏
  • 举报
回复
这个是动态的,是不是SQL语句也要以动态方式来设计呢..能不能让用户双击控件来取筛选的值..
shijies 2011-07-05
  • 打赏
  • 举报
回复
使用的数据库不同,SQL语句也会不同。参数通过查询(query)控件传入SQL语句里。筛选的值既是要传入的参数,可以通过edit、combobox或者其他什么控件选择。
五哥 2011-07-02
  • 打赏
  • 举报
回复


String sql := "select * from tb where 1 = 1 " ;

if (选C) then
begin
sql := sql + "AND tb.a=C"
end ;

if (选D) then
begin
sql := sql + " OR tb.a=D "
end ;

if (选E) then
begin
sql := sql + " OR tb.a=E "
end ;

......
jason19810924 2011-07-02
  • 打赏
  • 举报
回复
怎么没人回???
yqdragon 2011-07-02
  • 打赏
  • 举报
回复
用户自己组合好了
combobox1用于选择连接符,and 或 or等
combobox2用于提取该表所有字段
combobox3用于选择比较符,>,<,=等
combobox4用于选择或输入值
按钮 累加组合,可多次按 组合成SQL语句,初始时sqlstr := 'select * from 表 where (1=1) ';
jason19810924 2011-07-02
  • 打赏
  • 举报
回复
怎样对应delphi相应值..取变量..取控件?
shijies 2011-07-02
  • 打赏
  • 举报
回复
用动态查询SQL语句,c,d,e当参数输入。
twins7713 2011-07-02
  • 打赏
  • 举报
回复
求高人。。。。。。。。。。。
twins7713 2011-07-01
  • 打赏
  • 举报
回复
学习学习、、、、、、、
jason19810924 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 funxu 的回复:]
WITH ADOQUERY1 DO
BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT * FROM TABLE1 WHERE TA001=:MONTH1 AND TA002=:MONTH2');
PARAMETERS.ParamByName('MONTH1').Value :=EDIT1.TEXT;
PARAMETERS.ParamByName(……
[/Quote]
这样不行哦..如果有4,5个条件..不是要四五个Edit控件..还有好点建议不
山东蓝鸟贵薪 2011-07-01
  • 打赏
  • 举报
回复
SQL语句可以这样写吗,测试一下.........
love510 2011-07-01
  • 打赏
  • 举报
回复

select * from tb where tb.a in(c,d,e)
funxu 2011-07-01
  • 打赏
  • 举报
回复
WITH ADOQUERY1 DO
BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT * FROM TABLE1 WHERE TA001=:MONTH1 AND TA002=:MONTH2');
PARAMETERS.ParamByName('MONTH1').Value :=EDIT1.TEXT;
PARAMETERS.ParamByName('MONTH2').Value :=EDIT1.TEXT;
OPEN;
END;
jason19810924 2011-07-01
  • 打赏
  • 举报
回复
不是啊..我指的是用户来选取c,d,e.比如他选C就是C一个条件,选c,d就筛选c,d.他还可以选c,d,e,f,...z
我怎么在delphi里来设置这个变量.套应到sql里
加载更多回复(1)

2,497

社区成员

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

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