asp 多条件查询 求救

P207191 2008-03-23 06:41:40
问题是现在查询不出任何内容,请高手施教
<title>查询结果</title>
<%
week=trim(Request.Form("week"))
project=trim(Request.Form("project"))
pro=trim(Request.Form("pro"))
kind=trim(Request.Form("kind"))
des=trim(Request.Form("des"))
prin=trim(Request.Form("prin"))
dt=trim(Request.Form("dt"))
start=trim(Request.Form("start"))
endt=trim(Request.Form("endt"))
sql="select * from week where "

if dt=1 then
if week<>empty or len(week)>1 then
sql=sql&"week='"&week&"'"
end if
if project<>empty or len(project)>1 then
sql=sql&"and J_project='"&project&"'"
end if
if pro<>empty or len(pro)>1 then
sql=sql&"and J_pro='"&pro&"'"
end if
if kind<>empty or len(kind)>1 then
sql=sql&"and J_sort='"&kind&"'"
end if
if des<>empty or len(des)>1 then
sql=sql&"and J_des='"&des&"'"
end if
if prin<>empty or len(prin)>1 then
sql=sql&"and J_prin='"&prin&"'"
end if
else
if project<>empty or len(project)>1 then
sql=sql&"and J_project='"&project&"'"
end if
if pro<>empty or len(pro)>1 then
sql=sql&"and J_pro='"&pro&"'"
end if
if kind<>empty or len(kind)>1 then
sql=sql&"and J_sort='"&kind&"'"
end if
if des<>empty or len(des)>1 then
sql=sql&"and J_des='"&des&"'"
end if
if prin<>empty or len(prin)>1 then
sql=sql&"and J_prin='"&prin&"'"
end if
if start<>empty or len(start)>1 and endt<>empty then
sql=sql&"and year between #"&start&"# and #"&endt&"#"
end if
end if

Dim rs
Dim rs_numRows
Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_conn_STRING
rs.Source =sql
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
rs_numRows = 0
%>
...全文
106 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
WoooXVi 2008-03-25
  • 打赏
  • 举报
回复
是不是没加空格,之类的哦

response.write出来先啊
ITniao 2008-03-25
  • 打赏
  • 举报
回复
sql="select * from [week] where 1=1"

if dt=1 then
if week<>empty or len(week)>1 then
sql=sql&" and [week]='"&week&"' "
end if
wahuti 2008-03-24
  • 打赏
  • 举报
回复
给一个作参考
if otype="姓名" then
sql="select * from NEWS where 姓名字段 Like '%"& key &"%' order by id desc"
elseif otype="学号" then
sql="select * from NEWS where 学号字段 Like '%"& key &"%' order by id desc"
else
end if
P207191 2008-03-23
  • 打赏
  • 举报
回复
我现在明白了,我用的字段和sql保留字一样了,我说怎么没有任何提示(刚开始用的sql="select * from week where 1=1 ")就是没有任何结果出来,真是没有办法了;
但是现在好像还是不能彻底的解决问题啊,是不是这种写法是错误的呢,还有什么好的写法没有啊

我选择 dt=1用的是一组radio,选择第一个的话就是1 选择第二个就是2,所以只辨别一下是不是1;
P207191 2008-03-23
  • 打赏
  • 举报
回复
得到各位的指教,我万分感动。正在试验中ing,谢谢
cnchart 2008-03-23
  • 打赏
  • 举报
回复
SQL语句中的字段名或表名不要用sql的保留字,如果非要用,用括号括起来
hookee 2008-03-23
  • 打赏
  • 举报
回复
dt 不等于1时sql会错
sql="select * from week where "
改成 sql="select * from [week] where 1=1 "
sql=sql&"week='"&week&"'"
改成 sql=sql&" and [week]='"&week&"'"
week是数字类型就 sql=sql&" and [week]=" & week
year改成[year]

P207191 2008-03-23
  • 打赏
  • 举报
回复
谢谢你,我今天试了好多次都不成功,所以来求救了,一会就按照你的方法去做,看看能不能解决。
苍白之月 2008-03-23
  • 打赏
  • 举报
回复
response.write sql

把SQL复制出来 直接用工具去查询 很容易找出问题所在

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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