注册 登录
编程论坛 ASP技术论坛

如何实现在一个ASP页面里多文本框多条件的综合查询。

atian 发布于 2008-04-06 14:45, 1312 次点击
请教:如何实现在一个ASP页面里多文本框多条件的综合查询。

比如,有字段,名称,色彩,型号,大小等
如何写SQL语句
又要按名称,色彩,型号,大小来综合查询。有可能只有某个条件如,大小,型号,也有可能一种多种条件,如按大小,型号色彩一起的,有可能两个或三个,四个条件来查询。

望举例说明。最好有实例。多谢。
2 回复
#2
atian2008-04-07 18:49
版主有没有时间帮忙解决此问题呀。多谢了。
#3
zfjyyzycl2008-04-08 09:44
mc,xh,sc,dx是数据库的字段名称,
网页的查询表单项目也用这些名字

'获取查询的条件
mc=reqeust.form("mc") '名称
xh=request.form("xh") '型号
sc=request.form("sc") '色彩
dx=request.form("dx") '大小

'配比查询条件
sql="select * from 表 where 1=1"
if not (mc="" or isnull(mc)) then
    sql=sql&" and mc='"&mc&"'"
end if
if not (xh="" or isnull(xh)) then
    sql=sql&" and xh='"&xh&"'"
end if
if not (sc="" or isnull(sc)) then
    sql=sql&" and sc='"&sc&"'"
end if
if not (dx="" or isnull(dx)) then
    sql=sql&" and dx='"&dx&"'"
end if

建立对象
set list_rs=server.createobject("adodb.recordset")
开始查询
list_rs.open sql,conn,1,1

另外如果使用模糊查询的话
获取网页传递的查询条件后 用 mc=replace(mc,"*","%")
查询的条件变成 sql=sql&" and mc like '%"&mc&"%'" 就可以了
 
上述的条件全部是字符型的,如果有数字型的数据,比如有个数量字段(sl),则这样
sl=request.form("sl")
if not (sl="" or isnull(sl)) then
    if not IsNumeric(sl) then
    '下面的错误检查,也可以在提交的时候 通过onchick事件检查%>
    <script language=javascript>
    alert("如果您选择了数量为查询条件时,您必须保证您输入的数据是数字,或者为空,请重新输入!")
    history.go(-1)
    </script>
    <%else
        sql=sql&" and sl="&sl
    end if
end if

[[it] 本帖最后由 zfjyyzycl 于 2008-4-8 09:50 编辑 [/it]]
1