| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1047 人关注过本帖
标题:求助!帮忙看看代码有什么问题
取消只看楼主 加入收藏
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
 问题点数:0 回复次数:12 
求助!帮忙看看代码有什么问题

我想实现高级查询的功能,开始时间必选,其他条件可选。form表单应该能够正常传递,因为我把它传递到一个专门测试form传递的网页可以正确输出,但改变为一下代码后却提示无法显示。以下是我的代码:
<%
session("wds")=request.form("birthday")‘开始时间
session("wde")=request.form("birthday1")‘结束时间
session("wequ")=request.form("设备")
session("winfo")=request.form("info")
session("wres")=request.form("reason")
session("wmain")=request.form("maintain")
session("wslo")=request.form("solution")
session("wcus")=request.form("customer")

dim a,b,c,d,e,f,g,h,i
a=session("wds")
b=session("wde")
c=session("wequ")
d=session("winfo")
e=session("wres")
f=session("wmain")
g=session("wslo")
h=session("wcus")‘因为要做分页,要用session,所以写成这个样子

Set rs = Server.CreateObject ("ADODB.Recordset")

if a="" then response.redirect"error.htm"‘这个页面提示开始时间不能为空

else if b="" then sql="Select * from data where 开始日期='"&a&"'"
else if b<>"" then sql="Select * from data where 开始日期 between '"&a&"' and '"&b&"'"
else ‘以下都是可选条件
{
if c<>"请选择" then
sql=sql&" and 设备='"&c&"'"
end if
if d<>"请选择" then
sql=sql&" and 主要告警信息='"&d&"'"
end if
if e<>"" then
sql=sql&" and 故障原因='"&e&"'"
end if
if f<>"" then
sql=sql&" and 维护区='"&f&"'"
end if
if g<>"" then
sql=sql&" and 处理人='"&g&"'"
end if
if h<>"" then
sql=sql&" and 客户名称='"&h&"'"
end if
}
end if
rs.Open sql,conn,1,2
%>

<% dim gzcount
gzcount=rs.RecordCount
if gzcount=0 then
response.write"抱歉,没有相关数据!"
end if
%>

搜索更多相关主题的帖子: 代码 
2005-12-31 13:28
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
谢谢!应该不是这个问题的,没说是哪行出错,直接提示“

无法显示网页

您要访问的网页有问题,无法显示。”
要访问的网页中的代码就是我贴出来的啦,其余代码都不重要的!

2005-12-31 13:44
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
呵呵,我是新手,没有完全搞懂就来做网页了,所以碰到很多问题!我之所以那样做是因为我无法解决分页过程中的表单传递的问题,只好写成那个样子了,不过你还别说,还让我蒙对了,之前我做了一个分页的就这样成功了,呵呵!

2005-12-31 13:47
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
文件名没有错啊,奇怪

2005-12-31 13:49
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 

干脆我把两个网页都贴出来给大家看吧,有好主意的话,帮忙给出最简代码,嘿嘿,谢谢了!
以下是advanced_query.asp是选择条件的网页,传递到advanced_query_1.asp进行处理
<!--#include file="conn.asp"-->
<SCRIPT src="birthday.js"></SCRIPT>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>高级查询</title>
</head>

<body bgcolor="#0099CC" text="#000000" background="IMAGES/CINMS.GIF">

<h1 align="center"><font size="7"><strong>综合查询</strong></font></h1>
<p><img src="IMAGES/mtdd.gif" alt="说明" width="20" height="20" border="0" /><font color="#2100DB">说明:</font></p>
<p>

</p>
<form method="POST" action="advanced_query_1.asp">
<p>设&nbsp;&nbsp;&nbsp; 备:<select size="1" name="设备">
<option selected>请选择</option>
<option value="GZ-BR1">GZ-BR1</option>
<option value="GZ-BR2">GZ-BR2</option>
<option value="GZ-AR1">GZ-AR1</option>
<option value="GZ-AR2">GZ-AR2</option>
<option value="GZ-AR3">GZ-AR3</option>
<option value="GZ-AS1">GZ-AS1</option>
<option value="GZ-AS2">GZ-AS2</option>
</select></p>
<p>告警信息:<select size="1" name="info">
<% Set rs = Server.CreateObject ("ADODB.Recordset")
sql="Select 告警信息 from info"
rs.Open sql,conn,1,2
%>
<option selected>请选择</option>
<% rs.movefirst
dim x
do while not rs.eof
x=rs("告警信息")
%>
<option value="<% =x%>"><% =x%></option>
<%rs.movenext
loop
%>
<%
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>

</select></p>
<p>开始时间:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结束时间:</p>
<p>故障原因:<input type="text" name="reason" size="20"></p>
<p>维 护 区:<input type="text" name="maintain" size="20"></p>
<p>处 理 人:<input type="text" name="solution" size="20"></p>
<p>客户名称:<input type="text" name="customer" size="20"></p>

<div style="position: absolute; width: 90px; height: 15px; z-index: 1; left: 91px; top: 210px" id="layer1">
<input onfocus="show_cele_date(birthday,'','',birthday)" name="birthday" size="12"></div>

<div style="position: absolute; width: 90px; height: 15px; z-index: 2; left: 272px; top: 211px" id="layer2">
<input onfocus="show_cele_date(birthday1,'','',birthday1)" name="birthday1" size="12"></div>

<p align="center"><input type="submit" value="提交" name="B1">&nbsp; <input type="reset" value="重置" name="btnReset"></p>
</form>
</body>
</html>

以下是advanced_query_1.asp
<!--#include file="conn.asp"-->
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>高级查询结果</title>
</head>

<body bgcolor="#0099CC" text="#000000" background="IMAGES/CINMS.GIF">
<table cellSpacing=0 borderColorDark=#ffffff cellPadding=4 width='100%' borderColorLight=#aaaaaa border=1">


<%
session("wds")=request.form("birthday")
session("wde")=request.form("birthday1")
session("wequ")=request.form("设备")
session("winfo")=request.form("info")
session("wres")=request.form("reason")
session("wmain")=request.form("maintain")
session("wslo")=request.form("solution")
session("wcus")=request.form("customer")

dim a,b,c,d,e,f,g,h,i
a=session("wds")
b=session("wde")
c=session("wequ")
d=session("winfo")
e=session("wres")
f=session("wmain")
g=session("wslo")
h=session("wcus")


Set rs = Server.CreateObject ("ADODB.Recordset")

if a="" then response.redirect"error.htm"

else if b="" then sql="Select * from data where 开始日期='"&a&"'"
else if b<>"" then sql="Select * from data where 开始日期 between '"&a&"' and '"&b&"'"
else
{
if c<>"请选择" then
sql=sql&" and 设备='"&c&"'"
end if
if d<>"请选择" then
sql=sql&" and 主要告警信息='"&d&"'"
end if
if e<>"" then
sql=sql&" and 故障原因='"&e&"'"
end if
if f<>"" then
sql=sql&" and 维护区='"&f&"'"
end if
if g<>"" then
sql=sql&" and 处理人='"&g&"'"
end if
if h<>"" then
sql=sql&" and 客户名称='"&h&"'"
end if
}
end if
rs.Open sql,conn,1,2
%>

<% dim gzcount
gzcount=rs.RecordCount
if gzcount=0 then
response.write"抱歉,没有相关数据!"
end if
%>

<tr bgcolor=#006c6c>
<td colspan=<%=rs.Fields.Count+1 %>.><%Response.Write "<b><font color=white>共"&gzcount&"条纪录 当前时间"&CStr(now)&"</font></b>"%></td>
</tr>
<tr bgcolor="#ffffaf">

<!--#include file="table.inc"-->
<form method="POST" action="advanced_query_2.asp" name="FrontPage_Form1" onsubmit="return FrontPage_Form1_Validator(this)">
<p align="right"><font size="2" face="宋体">
<a href="advanced_query_2.asp?iPage=0&amp;OldPageNo=<%=PageNo%>">第一页</a>
<a href="advanced_query_2.asp?iPage=1&amp;OldPageNo=<%=PageNo%>">上一页</a>
<a href="advanced_query_2.asp?iPage=2&amp;OldPageNo=<%=PageNo%>">下一页</a>
<a href="advanced_query_2.asp?iPage=3&amp;OldPageNo=<%=PageNo%>">最后一页</a> 第
<input type="text" name="PageIn" size="4" value=<%=PageNo%>>页,页数:</font><font size="2"><%=PageNo%>/<%=rs.PageCount%></font></p>
<input type="hidden" name="OldPageNo" value="<%=PageNo%>">
</form>

<%
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>
</body>

</html>


2005-12-31 13:55
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
以下是引用houjuanjie在2005-12-31 14:05:00的发言:

那是肯定能做出来的,但是你做的肯定有bug,就你的这个程序来说,你一定要将session的timeout属性设置成无限,否则会因为session超时而无法运行程序

谢谢,多谢提醒!
那我现在这个程序到底是哪里出错了呢?还望大虾指点迷津!


2005-12-31 14:09
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
以下是引用houjuanjie在2005-12-31 14:13:00的发言:
真不知道你在写什么程序,
else
{
.....
}
这是asp代码吗?

我是学过C语言!
if语句不是可以嵌套的吗?


2005-12-31 14:26
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
那应该怎么改呢?

2005-12-31 14:36
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
以下是引用houjuanjie在2005-12-31 14:35:00的发言:
if c<>"请选择" then
这个句子也有问题,你前一个页面的下拉列表中并没有给“请选择”赋值(即value="")。

这个没问题,我之前做的是成功的!


2005-12-31 14:37
肖走
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-9-26
收藏
得分:0 
去掉{}后还是提示“HTTP 500 - 内部服务器错误 ”

2005-12-31 14:39
快速回复:求助!帮忙看看代码有什么问题
数据加载中...
 
   



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

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