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

rs记录集为什么为空?

xiang_123 发布于 2010-06-02 19:08, 1119 次点击
<%
subjectname=request("subjectname")
sql="select * from exam_subject where subjectname='"&subjectname&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
 response.write(sql)//输出结果select * from exam_subject where subjectname='aa'

if rs.eof and rs.bof then
  response.write(sql)//输出结果select * from exam_subject where subjectname=''
  response.end()
end if
%>
这是什么原因?

[ 本帖最后由 xiang_123 于 2010-6-2 19:12 编辑 ]
10 回复
#2
icecool2010-06-02 20:13
以上两个红色的是同时出现的结果吗?数据表中有没有subjectname=aa的记录?
#3
xiang_1232010-06-02 22:17
上面不是两个同时输出的结果
#4
xiang_1232010-06-02 22:20
subjectname=request("subjectname")
sql="select * from exam_subject where subjectname='"&subjectname&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
response.write(sql)  如果这样输出结果为select * from exam_subject where subjectname='aa'
#5
xiang_1232010-06-02 22:21
subjectname=request("subjectname")
sql="select * from exam_subject where subjectname='"&subjectname&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
if rs.eof and rs.bof then
  response.write(sql)   如果是这样:输出结果为select * from exam_subject where subjectname=''
  response.end()
end if
#6
xiang_1232010-06-02 22:21
不知道什么原因,请大家帮帮忙!!
#7
icecool2010-06-02 22:43
如果你的request("subjectname")没有值才会select * from exam_subject where subjectname='',
如果有值数据库中没有相应记录也不会这样的,你试试下面这样会有什么结果.
subjectname=request("subjectname")
sql="select * from exam_subject where subjectname='"&subjectname&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
  response.write sql
if rs.eof and rs.bof then
  response.write(sql)  ' 如果是这样:输出结果为select * from exam_subject where subjectname=''
  response.end()
end if
#8
hams2010-06-03 09:03
<%
subjectname=request("subjectname")
response.write subjectname&"<BR/>
sql="select * from exam_subject where subjectname='"&subjectname&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
response.write(sql)//输出结果select * from exam_subject where subjectname='aa'

if rs.eof and rs.bof then
  response.write(sql)//输出结果select * from exam_subject where subjectname=''
  response.end()
end if
%>

运行这个看看会怎么样
#9
longxuanxuan2010-06-03 09:07
第二个是IF 语句   
 如果查不到 为空   
输出就是空拉
#10
hams2010-06-03 09:08
9楼的先看清楚源文件再说
#11
gupiao1752010-06-03 12:46
以下是引用icecool在2010-6-2 22:43:30的发言:

如果你的request("subjectname")没有值才会select * from exam_subject where subjectname='',
如果有值数据库中没有相应记录也不会这样的,你试试下面这样会有什么结果.
subjectname=request("subjectname")
sql="select * from exam_subject where subjectname='"&subjectname&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
  response.write sql
if rs.eof and rs.bof then
  response.write(sql)  ' 如果是这样:输出结果为select * from exam_subject where subjectname=''
  response.end()
end if
同理!没理由没有结果的,只要变量subjectname有值,就一定会显示的!和记录集是不是空没有直接关系!
1