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

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。(错误显示在粗体字所在行)

eournet 发布于 2010-06-19 10:12, 5151 次点击
<%
set rs=server.createobject("ADODB.RecordSet")
sql="select * from huiyuan  where id="&request("id")
rs.open sql,conn,1,3
rs("id_email")=62
rs.update
rs.close
sql="select * from huiyuan where card='"&nowcard&"' and id<>"&request("id")
rs.open sql,conn,1,3
do while rs.eof=false
rs("id_email")=62
rs.movenext
loop
set rs=server.createobject("ADODB.RecordSet")
sql="select * from buy where huohao='"&nowcard&"'"
rs.open sql,conn,1,3
rs("isok")=true
rs("id_huiyuan")=62
rs.update
rs.close
sql="select * from buy where huohao='"&nowcard&"'"
rs.open sql,conn,1,3
do while rs.eof=false
rs("isok")=true
rs("id_huiyuan")=62
rs.movenext
loop
set rs=server.createobject("ADODB.RecordSet")
sql="select * from produit where huohao='"&nowcard&"'"
rs.open sql,conn,1,3
if nowxinbie="项目稽核" then
rs("id_danwei")=110
end if
if nowxinbie="项目验收" then
rs("id_danwei")=112
end if
rs.update
rs.close
sql="select * from buy where huohao='"&nowcard&"'"
rs.open sql,conn,1,3
do while rs.eof=false
if nowxinbie="项目稽核" then
rs("id_danwei")=110
end if
if nowxinbie="项目验收" then
rs("id_danwei")=112
end if
rs.movenext
loop
 response.write "<script>alert('项目复核成功,请继续下一个流程!');window.opener.location.reload();window.close();</script>"
%>
14 回复
#2
yms1232010-06-19 13:47
sql="select * from buy where huohao='"&nowcard&"'"
这句SQL语句没查到数据
#3
eournet2010-06-20 20:11
是因为buy和huiyuan不是同一个数据存储单元吗,请教老师应该怎么修改啊
#4
2010-06-21 09:33
应该是你的数据库里面没有资料,
所以才出现问题,
是吧?
#5
eournet2010-06-21 11:15
不是这个问题,应该是数据库之间比对的问题,huohao是库buy中的,card是库huiyuan中的
#6
gupiao1752010-06-21 12:10
set rs=server.createobject("ADODB.RecordSet")
response.write nowcard '输出变量nowcard,看看是否有值!
response.end
sql="select * from buy where huohao='"&nowcard&"'"
rs.open sql,conn,1,3
变量nowcard是从哪取值哪的,是否有值呢?或者说有值,但是在数据库表里huohao字段没有这个变量对应的值!
#7
eournet2010-06-21 15:50
老师们所说的问题我看过,huohao这个字段两个数据库中都有记录与之对应
#8
eournet2010-06-26 00:52
不明白,再次求教
#9
eournet2010-06-30 20:43
再次顶起,恳请老师出来详解,不胜感谢
#10
hams2010-07-01 09:17
查询之后,要做一个是否有值的判断,再操作,这是一种防错习惯。我们在编程的时候,要考虑到,程序在任何情况下都不应该出错,我们不能按现在的数据情况来写程序,而是要考虑到,数据库里的数据无论怎么变化,程序都不出错。
#11
eournet2010-07-01 23:30
查询之后,要做一个是否有值的判断,这个判断代码该怎么书写
#12
hams2010-07-02 08:53
If rootRs.Bof Or rootRs.Eof Then

随便找人家写的程序里都会有
#13
myou8411032010-07-02 10:59
以下是引用gupiao175在2010-6-21 12:10:58的发言:

set rs=server.createobject("ADODB.RecordSet")
response.write nowcard '输出变量nowcard,看看是否有值!
response.end
sql="select * from buy where huohao='"&nowcard&"'"
rs.open sql,conn,1,3
变量nowcard是从哪取值哪的,是否有值呢?或者说有值,但是在数据库表里huohao字段没有这个变量对应的值!
正解,估计是没数据
#14
魏兴耀2010-07-02 12:54
调试的时候可以把获取的变量弹出来看看有没有值
#15
eournet2010-07-04 07:42
以下是引用gupiao175在2010-6-21 12:10:58的发言:

set rs=server.createobject("ADODB.RecordSet")
response.write nowcard '输出变量nowcard,看看是否有值!
response.end
sql="select * from buy where huohao='"&nowcard&"'"
rs.open sql,conn,1,3
变量nowcard是从哪取值哪的,是否有值呢?或者说有值,但是在数据库表里huohao字段没有这个变量对应的值!
正解,估计是没数据
但是数据库中确实有数据啊
1