| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4009 人关注过本帖, 1 人收藏
标题:多条件组合查询
只看楼主 加入收藏
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
结帖率:52.7%
收藏(1)
 问题点数:0 回复次数:25 
多条件组合查询
我有四个条件,第一个:一个部门条件,部门有7到8个,用下拉框,第二:任务完成情况,有已经完成和未完成,用下拉框,第三:一个时间的框,都用下拉框,年一个下拉框,月一个,日一个,再加一个类别,因为我数据库中中有2个字段都是日期时间型的,再有一个下拉框,值有2个是:什么时间,什么时间的。就是以上的条件,当我选至少两个条件时都要搜索出结果,就是说我同时随便输入2个,3个,4个,更多个条件都能搜索出信息,但是只要一个处理接受文件,列出结果,怎么写的那个处理文件,很急现在,请各位指点,赐教……………………
搜索更多相关主题的帖子: 条件 查询 
2008-10-22 11:00
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
<%
Field1 = Request("Field1")
Field2 = Request("Field2")
Field3 = Request("Field3")
Field4 = Request("Field4")
sql="where 1=1"
if Field1<>"" then
   sql=sql&" and Field1='"&Field1&"'"
elseif if Field2<>"" then
   sql=sql&" and Field2='"&Field2&"'"
elseif if Field3<>"" then
   sql=sql&" and Field3='"&Field3&"'"
elseif if Field4<>"" then
   sql=sql&" and Field4='"&Field4&"'"
end if

Set rs=conn.Execute("select * from shopsetup "&sql)
%>

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-22 11:16
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
收藏
得分:0 
具体解释一下啊哥们…………特别是后面的那些个查询语句,我字段你也不字段我的是什么字段,但是你大概说个核心概念就行,后面的那个好象是动态的吧?具体说说你的意见………………谢谢你!!比方if Field1<>"" then
   sql=sql&" and Field1='"&Field1&"'"
中的红色什么意思啊,特别是前面的sql&" and,什么意思,是动态的吗?

[[it] 本帖最后由 wxm198427 于 2008-10-22 11:22 编辑 [/it]]
2008-10-22 11:17
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
上面的代码是只取其中一个条件,下面的代码是,所有条件只要选择了就可以查询到,叫组合查询
<%
Field1 = Request("Field1")
Field2 = Request("Field2")
Field3 = Request("Field3")
Field4 = Request("Field4")
sql="where 1=1"
if Field1<>"" then
   sql=sql&" and Field1='"&Field1&"'"
end if
if Field2<>"" then
   sql=sql&" and Field2='"&Field2&"'"
end if
if Field3<>"" then
   sql=sql&" and Field3='"&Field3&"'"
end if
if Field4<>"" then
   sql=sql&" and Field4='"&Field4&"'"
end if

Set rs=conn.Execute("select * from shopsetup "&sql)
%>

[[it] 本帖最后由 hmhz 于 2008-10-22 11:25 编辑 [/it]]

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-22 11:20
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
收藏
得分:0 
噢,谢谢哥们,你真是我的救命恩人啊,多谢多谢……………………………………多多联系多多联系
2008-10-22 11:24
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
第一个的sql="where 1=1" 是创建一个查询条件 1=1 的意思是查询所有内容

下面的sql=sql&" and Field1='"&Field1&"'"  中的 sql&"获取的是上面的sql="where 1=1" 的变量值,意思就是继承下来重新赋值给sql 下面的以此类推,

最后组合起来的效果是
Set rs=conn.Execute("select * from shopsetup where 1=1 and Field1='"&Field1&"' and Field2='"&Field2&"' and Field3='"&Field3&"' and Field4='"&Field4&"'")

[[it] 本帖最后由 hmhz 于 2008-10-22 11:35 编辑 [/it]]

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-22 11:33
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
收藏
得分:0 
哥们稍等一下,请问这个,就sql=sql&"  and ,这个什么意思啊?你是说后面的那个SQL要写个SQL语句还是怎么样,还有AND后面的,怎么样解释一下啊!!!
2008-10-22 11:40
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
收藏
得分:0 
谢谢解释………………谢谢,非常感谢……
2008-10-22 11:46
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
老兄你真是不开窍
sql=sql&"  and 中的sql&" 获取的是上面传下来的变量 sql 这里是调用上面的变量意思
也就是
sql="where 1=1"  '建立查询
if Field1<>"" then '判断Field1不为空
   sql=sql&" and Field1='"&Field1&"'"  '继承上面的sql与Field1='"&Field1&"'组合
end if
if Field2<>"" then
   sql=sql&" and Field2='"&Field2&"'"  '如果上面的Field1不为空就继承Field1的sql变量继续组合,如果上面Field1为空的话,就继承sql="where 1=1"的sql组合
end if
if Field3<>"" then
   sql=sql&" and Field3='"&Field3&"'"  '这个与Field2一样,继续往下继承
end if
if Field4<>"" then
   sql=sql&" and Field4='"&Field4&"'"  '这个与Field2一样,继续往下继承
end if

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-10-22 11:47
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
Dim a
a=5
a=a+5
这句什么意思?
计算a+5表达式的值,赋给变量a,可以认为就是累加。

那么sql=sql & "123"的值就是在sql后面接字符串。
SQL语句中注意条件之间的空格。
2008-10-22 12:25
快速回复:多条件组合查询
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019473 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved