[求助]ASP中一极简单但又极为奇怪的错误!~

默默唐 2005-12-24 03:36:40
问题是:一个参数传递到test.asp页面为什么查询不出满足条件记录??,该记录肯定存在!!!

我的问题写的比较详细,请各位耐心看下去...

第一次:
test.asp的内容如下:
<%
abc=request.form("hh")
%>
<table width="313" border="1">
<tr align="center">
<td>货号</td>
</tr>
<tr>
<td><%=abc%></td>
</tr>
</table>

=================================================================================
在add.asp页面中提交到 test.asp?hh=11 到test.asp,test页面表格中的货号正确显示为11
这个测试页面应该表明从add.asp中的参数是肯定传递到test.asp页面了
=================================================================================

第二个测试:test.asp页面内容如下:

<!--#include file="conn.asp"-->
<%
abc=request.form("hh")
set rs=server.createobject("adodb.recordset")
sql="select * from tyd where hh='11'"
rs.open sql,conn,1,1
If Rs.eof and Rs.bof then
response.write " <tr><td height=20 colspan=12 bgcolor=#ffffff><p align=center><font color=red>还没任何信息!</font></p></td></tr>"
else
%>
<table width="313" border="1">
<tr align="center">
<td>货号</td>
<td>提货点电话</td>
<td>提货点地址</td>
</tr>
<tr>
<td><%=abc%></td>
<td><%=rs("thddh") %></td>
<td><%=rs("thddz") %></td>
</tr>

</table>
<%
set rs=Nothing
end if
%>

========================================================================================
也就是说我指定hh这个字段的值等于11的记录显示出来,test.asp页面也按要求显示出其它两个字段的内容,证明hh这个字段存在,也有货号等于11的记录存在,并且request.form("hh")的值也正确传递过来显示在货号字段下!
========================================================================================

第三次测试:test.asp页面内容如下:
<!--#include file="conn.asp"-->
<%
abc=request.form("hh")
set rs=server.createobject("adodb.recordset")
sql="select * from tyd where hh='&abc&'" //请注意abc是传递过来的参数
rs.open sql,conn,1,1
If Rs.eof and Rs.bof then
response.write " <tr><td height=20 colspan=12 bgcolor=#ffffff><p align=center><font color=red>还没任何信息!</font></p></td></tr>"
else
%>
<table width="313" border="1">
<tr align="center">
<td>货号</td>
<td>提货点电话</td>
<td>提货点地址</td>
</tr>
<tr>
<td><%=abc%></td>
<td><%=rs("thddh") %></td>
<td><%=rs("thddz") %></td>
</tr>
</table>
<%
set rs=Nothing
end if
%>

======================================================================================
仍是提交到 test.asp?hh=11,提示"还没任何信息" :confused::confused:,也就是rs.eof and rs.bof 了
======================================================================================

纳闷就在这里了,同样将hh参数传递过来了,为什么这里查询不出符合条件的记录呢????

hh为11的记录肯定存在的!!!

希望路过的朋友帮看下,我是菜鸟....

...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
竹林听雨2005 2005-12-24
  • 打赏
  • 举报
回复
恭喜楼主,顺便给予总结提示:出现这种错误的原因是因为字符类型不对,是字符型的要用引号引起来,在双引号里的要用单引号引起来。
默默唐 2005-12-24
  • 打赏
  • 举报
回复
呵呵,解决.是因为参数写的方法不对

sql="select * from tyd where hh='&abc&'" //请注意abc是传递过来的参数
这里不对

应该是
sql="select * from tyd where hh='"&abc&"'"

就是引号在作的怪...
liangjianshi 2005-12-24
  • 打赏
  • 举报
回复
你respone.write abc,看值传递过来了没有。

28,390

社区成员

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

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