| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:多条件查询
只看楼主 加入收藏
zhanxinlin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:156
注 册:2010-5-19
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:3 
多条件查询
我想做个多条件查询,包括数据库中有日期类型、数字类型、文本类型、备注类型(数据库是mdb的。)
写了下面的测试语句,但却查询不出来,不知要怎么写,是不是要先把传过来的文本框进行数据类型转换?要怎么转,麻烦写个SQL
数据库字段id为数字类型、txt是日期类型、ext是文本类型。
<%
adata=request("a")
if adata="" then
txt1="txt=*"
else
txt1="txt=#'"&FormatDateTime(request("a"))&"'#"
end if
b=request("b")
an=request("c")
%>
<body>
<%
Set rs=Server.CreateObject("ADODB.Recordset")
sql ="select * from tq where "&txt1&" and ext = '"&b&"'"
rs.open sql,conn,1,1
%>
<%=rs("id")%>
<%=rs.recordcount%>
<%=txt1%>

输出只有txt1变量的值:txt=#2010-11-10#
搜索更多相关主题的帖子: 条件 查询 
2010-11-23 20:26
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:20 
txt1="txt=#'"&FormatDateTime(request("a"))&"'#"
这个为何多加一个,改为:
txt1="#'"&FormatDateTime(request("a"))&"'#"
sql改为:
SQL="select * from tq where txt="&txt1&" and ext = '"&b&"'"
这样试试!

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-11-23 22:26
zhanxinlin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:156
注 册:2010-5-19
收藏
得分:0 
啊,终于在若干次失败之后,参考了若干次语法之后成功了,但是当我看到你的回复的时候,我已经成功经过测试了,但还是感谢版主。我是用  cdate(request("a"))  去做的。
SQL是"select * from tq where txt=#"&txt1&"#"

其它代码也有若干修改了,贴个代码给大家参考下,有好的建议请前辈发表下:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> test </title>
</head>
<%
'on error resume next        
dbpath = server.mappath("db1.mdb")
connstr = "driver={microsoft access driver (*.mdb)};dbq=" & dbpath
set conn = server.createobject("adodb.connection")
conn.open connstr
%>
<%
aname=request("a")
   if aname<>"" then
   aname=cdate(aname)
   end if
b=request("b")
%>
<body>
<%
Set rs=Server.CreateObject("ADODB.Recordset")
sql ="select * from tq where 1=1"
    if aname<>"" then
      sql=sql&"and txt=#"&aname&"#"
    end if
    if b<>"" then
      sql=sql&"and ext='"&b&"'"
    end if
rs.open sql,conn,1,1
%>
<%=rs("id")%><br>
<%=rs.recordcount%><br>
<%=aname%>
</body>
</html>
2010-11-23 22:44
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:0 
已经不错了。数据库连接那个做成外文件,统一包含进来!连接方式改改:
connstr = "driver={microsoft access driver (*.mdb)};dbq=" & dbpath
改为:
connstr = "provider=microsoft.oledb.jet.4.0;datasource=" & dbpath
好处是更安全!

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-11-23 22:58
快速回复:多条件查询
数据加载中...
 
   



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

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