请教,为什么查询不到记录

RexKang 2005-08-09 07:00:21
代码如下
<!--#include file="conn.asp" -->
<%
'on error resume next
dim rs,sql
set rs=server.createobject("adodb.recordset")
sql="SELECT * From news WHERE no ="&request("No")
rs.open sql,conn,1,1
response.Write "<p><span class='unnamed3'><font size='+2'><strong>"
if rs.bof and rs.eof then
response.write "此文章已经删除。。。</strong></font></a></span> </p>"
else
response.Write(rs("title"))
response.Write"</strong></font></a></span> </p>"
response.Write "<p>"
response.Write(rs("article"))
response.Write "</p>"
end if
%>


conn.asp

<%
dim conn
dim connstr
'on error resume next

connstr = "DBQ=" + server.mappath("newsdb.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
if err.number<>0 then
err.clear
set conn=nothing
response.write "数据库连接出错!"
Response.End
else
conn.open connstr
if err then
err.clear
set conn=nothing
response.write "数据库连接出错!"
Response.End
end if
end if

sub endConnection()
conn.close
set conn=nothing
end sub
%>

数据库
no title article

明明有记录,但显示 此文章已经删除。。。
...全文
192 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
RexKang 2005-08-09
  • 打赏
  • 举报
回复
XD们,谢谢了。我什么都没改,刚才自己好了!!!!!晕倒!!!
RexKang 2005-08-09
  • 打赏
  • 举报
回复
数据库里的No是长整形变量
RexKang 2005-08-09
  • 打赏
  • 举报
回复
哦,已经试过了,结果一样

这段代码正常运行

<%
'on error resume next
dim rs, sql
set rs = server.createobject("adodb.recordset")

sql = "SELECT * FROM news ORDER BY No ASC"
rs.open sql,conn,1,1
dim i
do while not rs.eof
Response.write "<tr align='center' valign='middle'><td>"& rs("No")&"</td><td>"&"<a href='add.asp?id="&rs("No")&"'><b>"&rs("title")&"</b></a>"&"</td><td>"&rs("date")&"</td><td>"
select case rs("type")
case "0" response.write "新闻中心"
case "1" response.write "最新活动"
case "2" response.write "热门话题"
end select
Response.write "</td></tr>"
rs.movenext
loop
rs.close

%>
孤剑 2005-08-09
  • 打赏
  • 举报
回复
怀疑在no字段的类型和request("No")类型不对
可以尝试:
sql="SELECT * From news WHERE no ='"&request("No") & "'"
RexKang 2005-08-09
  • 打赏
  • 举报
回复
SELECT * From news WHERE no = '10'
SELECT * From news WHERE no = 10
因为不清楚no 的值有没有引号,所以都试了^_^
mysqlaping 2005-08-09
  • 打赏
  • 举报
回复
把sql="SELECT * From news WHERE no ="&request("No")
response一下
即为
response.write sql
看看传递的变量值是什么
RexKang 2005-08-09
  • 打赏
  • 举报
回复
记录里面no从1-15
但是无论输入何值,返回的都一样
kingkuf 2005-08-09
  • 打赏
  • 举报
回复
你所检索的 “NO"字段,可能存在问题!察看一下数据库,看看里面的内容。是不是要检索的字段已将不存在
RexKang 2005-08-09
  • 打赏
  • 举报
回复
request("no")的值是对的
只是调试了半天,发现不论no为何值,结果都一样
把sql单独显示
SELECT * From news WHERE no =15
不知道是不是这里有问题
wmcode 2005-08-09
  • 打赏
  • 举报
回复
因为显示"此文章已经删除"
所以rs中没有记录集
因而很可能是传过来的no的值有问题
即request("no")取的值有问题

28,408

社区成员

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

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