麻烦帮忙找一下下面的错误.

shortppsy 2005-12-25 12:46:39
错误提示:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

ADODB.Recordset 错误 '800a0bcd'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

/sendto.asp,行114

出错行: rs("用户名")=rs1("用户名")






<!--#include file="conn.asp"-->
<%userall=request.form("userall")
file_name=session("up_file_name") '得到附件文件名
if file_name<>"" then file_path_name="upfile/"&file_name else file_path_name=" " end if
title=trim(request.form("title"))
if title="" then response.redirect("send.asp") end if
text_all=request.form("text_all")
text_all=replace(text_all,chr(13),"<br>")
text_all=replace(text_all," "," ")
if text_all="" then text_all=" " end if
sender=session("user_name")





if userall="yes" then '发给所有人
str="select * from user where 用户类别<>'超级管理员' and 单位<>'"&sender&"'"
set rs=conn.execute(str)
revicer=""
do while not rs.eof
revicer=revicer&rs("部门")&"|"
rs.movenext
loop
dd=date
tt=time
rs.close
sql="select * from news"
rs.Open sql,conn,1,3
rs.addnew
rs("标题")=title
rs("内容")=text_all
rs("发文日期")=dd
rs("发文时间")=tt
rs("发文者")=sender
rs("接收者")=revicer
rs("附件")=file_path_name
rs.update
id=rs("ID")
session("up_file_name")=""

else '发给部分人
'取出部门人
bumeng_count=session("bumeng_count")
b=1
do while b<=bumeng_count
bumeng_n="bumeng"&cstr(b)
bumeng_str=request.form(bumeng_n)
str="select * from user where 部门='"&bumeng_str&"' and 用户类别<>'超级管理员' and 单位<>'"&sender&"'"
set rs=conn.execute(str)
do while not rs.eof
revicer=revicer&rs("部门")&"|"
rs.movenext
loop
b=b+1
loop


'选定指定人
see=request.querystring("see")
if see="user_all" then
user_all=session("user_all")
b=1
do while b<user_all
se_namen="se_name"&cstr(b)
se_str=request.form(se_namen)
if se_str<>"" then
revicer=revicer&se_str&"|"
end if
b=b+1
loop
end if

dd=date
tt=time
rs.close
sql="select * from news"
rs.Open sql,conn,1,3
rs.addnew
rs("标题")=title
rs("内容")=text_all
rs("发文日期")=dd
rs("发文时间")=tt
rs("发文者")=sender
rs("接收者")=revicer
rs("附件")=file_path_name

rs.update
id=rs("ID")
session("up_file_name")=""
end if
rs.Close



'创建签收表
set rs=server.createobject("ADODB.recordset")
sql="select * from qsnews"
rs.Open sql,conn,1,3
mysendto=split(revicer,"|",-1,1)

for each sendtoinf in mysendto
if trim(sendtoinf)<>"" then
set rs1=server.createobject("ADODB.recordset")
sql1="select * from user where 部门='"&trim(sendtoinf)&"'"
rs1.Open sql1,conn,1,3
rs.addnew
if not rs1.EOF then rs("单位")=rs1("单位")
rs("用户名")=rs1("用户名")
rs("密码")=rs1("密码")
rs("序号")=rs1("序号")
rs("发文日期")=dd
rs("签收状态")=0
rs("reid")=id
rs.update
rs1.Close
set rs1=nothing

end if
next

conn.close
back=request.querystring("back")
response.redirect(back)
%>

...全文
101 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xx123731 2005-12-25
  • 打赏
  • 举报
回复
if not rs1.EOF then rs("单位")=rs1("单位")

这句then 后面加回车。。。 哈哈
xdwwwlj 2005-12-25
  • 打赏
  • 举报
回复
没给权限
ybfqlyq 2005-12-25
  • 打赏
  • 举报
回复
if trim(sendtoinf)<>"" then
set rs1=server.createobject("ADODB.recordset")
sql1="select * from user where 部门='"&trim(sendtoinf)&"'"
rs1.Open sql1,conn,1,3
rs.addnew
if not rs1.EOF then rs("单位")=rs1("单位")
rs("用户名")=rs1("用户名")
rs("密码")=rs1("密码")
rs("序号")=rs1("序号")
rs("发文日期")=dd
rs("签收状态")=0
rs("reid")=id
rs.update
rs1.Close
set rs1=nothing

end if

這時你用了兩個IF ,而只有一個END IF了。。
  • 打赏
  • 举报
回复
很简单的,缺少判断,if not rs.eof then
if not rs1.eof then
end if
end if
判断一下,像你写的那样,如果有空值的话会错

不过你可以写一个on error resume next
shortppsy 2005-12-25
  • 打赏
  • 举报
回复
end if好象没有少啊
IamRobat 2005-12-25
  • 打赏
  • 举报
回复

少了一个END if
rs("用户名")可能会空.
shortppsy 2005-12-25
  • 打赏
  • 举报
回复
rs("用户名")=rs1("用户名")
这一行的错误
rob123 2005-12-25
  • 打赏
  • 举报
回复
到底是哪个错误?

28,391

社区成员

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

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