• 全部
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

如何实现条件组合查询

hnwjx 2000-04-10 10:35:00
各位专家:
现在我做的一个库存管理系统,当做到库存查询时,我是用几个checkbox控件和edit控件关联来选定查询条件的,各个查询条件之间是and关系。我是用query控件来查询的,请问各位,这个问题应如何实现?望各位用delphi写一个小程序发给我,我将感激不尽!
谢谢!!!
...全文
128 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hnwjx 2001-08-10
我的EMAIL:hnwjx@163.net
回复
hnwjx 2001-08-10
各位,谁有单表通用组合条件查询的原代码:给我一份,我将不胜感激。
回复
zoao 2000-04-11
我有一个Source,你要吗?
回复
fyje 2000-04-11
var sqltext,ss,tt:string;
begin
sqltext:=query1.sql.text;
ss:='';
if checkbox1.checked then ss:=ss+checkbox1.caption+'='+edit1.text+' and ';
if checkbox2.checked then ss:=ss+checkbox2.caption+'='+edit2.text;
.
.
.
ss:=trim(ss);
tt:=copy(ss,length(ss)-3,3);
if pos('and',tt,[])>0 then ss:=copy(ss,1,length(ss)-3);
if pos('where',sqltext)>0 then sqltext:=sqltext+' and '+ss
else sqltext:=sqltext+' where '+ss;
query1.close;
query1.sql.clear;
query1.sql.add(sqltext);
query1.open;
end;
回复
wsh 2000-04-11
方法如下:
设定一个Query1,其SQL为:Select * from KCXX Where 1>0
设KCXX为你要检索的数据表,可设定一按钮在其Click事件中写如下代码:
Query1.Close;
While Query1.SQL.Count>1 do
Query1.SQL.Delete(1);
If CheckBox1.checked Then
Query1.SQL.Add('And 字段1='+#39+Edit1.Text+#39);
If CheckBox2.Checked Then
Query1.SQL.Add('And 字段2='+#39+Edit2.Text+#39);
.....同理
Query1.Open;
其中的比较方式可自已更换,若想用模糊查询,则可将‘=’换成Like

回复
相关推荐
发帖
Delphi
创建于2007-08-02

4876

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2000-04-10 10:35
社区公告
暂无公告