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

又遇到新问题了。

jacklabyo 发布于 2007-08-28 20:43, 430 次点击
如下代码是一个订单搜索页,前表单传来的订单号判定有则显示详细的信息,无则"提示没有符合您要的信息,请确认订单编号输入是否正确!" 但是不行啊。不管输入的订单号对与错都显示,"提示没有符合您要的信息,请确认订单编号输入是否正确!" 是不是sql="select * from order where shop_id ='%"+shop_id+"%'"写得不对啊?

<% on error resume next
dim shop_id
shop_id=trim(request.form(shop_id))
set rs=server.createobject("adodb.recordset")
sql="select * from order where shop_id ='%"+shop_id+"%'"
rs.open sql,conn,1,1
if rs.eof then
response.write("<script language=javascript>alert('没有符合您要的信息,请确认订单编号输入是否正确!');history.go(-1)</script>")
else
%>
<tr>
<td height="40" align="center"><%=rs("shop_id")%></td>
<td height="40" align="center"><%=rs("name")%></td>
<td height="40" align="center"><%=rs("tel")%></td>
<td height="40" align="center"><%=rs("number")%></td>
<td height="40" align="center"><%=rs("title")%></td>
<td height="40" align="center"><%=rs("mobile")%></td>
<%end if%>

[此贴子已经被作者于2007-8-28 20:43:39编辑过]

5 回复
#2
multiple19022007-08-28 20:45
把SQL输出来看看就知道了。
#3
天涯听雨2007-08-28 20:55

请注意表单提交是怎么样进行提交的,是什么方法:是post 呢,还get

如果是post 这样接收 shop_id=trim(request.form(shop_id)) 如果是 get 那就这样接收 shop_id=trim(request.querystring(shop_id))

为了保险,这样接收就一定不会错:shop_id=trim(request(shop_id)) 但不推荐使用

if rs.eof then
response.write("<script language=javascript>alert('没有符合您要的信息,请确认订单编号输入是否正确!');history.go(-1)</script>")
else
%>
<tr>
<td height="40" align="center"><%=rs("shop_id")%></td>
<td height="40" align="center"><%=rs("name")%></td>
<td height="40" align="center"><%=rs("tel")%></td>
<td height="40" align="center"><%=rs("number")%></td>
<td height="40" align="center"><%=rs("title")%></td>
<td height="40" align="center"><%=rs("mobile")%></td>
<%end if%>

也不是这样写显示结果的。。。。。。

#4
Mycr2007-08-28 21:24

if rs.eof then
response.write("<script language=javascript>alert('没有符合您要的信息,请确认订单编号输入是否正确!');history.go(-1)</script>")
else
do while not rs.eof
%>
<tr>
<td height="40" align="center"><%=rs("shop_id")%></td>
<td height="40" align="center"><%=rs("name")%></td>
<td height="40" align="center"><%=rs("tel")%></td>
<td height="40" align="center"><%=rs("number")%></td>
<td height="40" align="center"><%=rs("title")%></td>
<td height="40" align="center"><%=rs("mobile")%></td>
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
%>

#5
jacklabyo2007-08-28 22:10

我用的是post传送方法,其它没什么问题,就是在前页输入订单号后点搜索,不管输入的订单号对与错,
都只弹出 "提示没有符合您要的信息,请确认订单编号输入是否正确!"

问题是不是应该在SQL语句上,SQL输出得,就是执行不了,else后的输入。

#6
madpbpl2007-08-28 22:20
sql="select * from order where shop_id ='%"+shop_id+"%'"
改成
sql="select * from order where shop_id like '%"+shop_id+"%'"
或者改成
sql="select * from order where shop_id ='" & shop_id &"'"
试试
1