ADODB.Recordset 错误 '800a0e79' 帮忙看下

up1325 2009-11-13 09:31:02
<%
option explicit
Response.expires=-1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","no-store"
%>

<!--#include file="inc/conn.asp"-->
<!--#include file="inc/function.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>考试</title>
<link href="student.css" rel="stylesheet" type="text/css">
<style>
td {
font-size:14px;
line-height:18px;
}
</style>
</head>
<%
dim rsMark,strSqlMark,strErr
dim intPrjID,intStudentID,strPrjName,strStudentName,intTotalMark,intMark,intLimitTime,strAnswerColor
dim intSSCount,intMSCount,intBCount,arrAnswer,I,dtmStartTime,dtmEndTime
if checkStudentLogin() = false then
call closeConn()
response.redirect "student_login.asp"
end if
redim arrAnswer(31)
for I = 1 To 31
if (I and 1) > 0 then
arrAnswer(I) = "A"
end if
if (I and 2) > 0 then
arrAnswer(I) = arrAnswer(I) & "B"
end if
if (I and 4) > 0 then
arrAnswer(I) = arrAnswer(I) & "C"
end if
if (I and 8) > 0 then
arrAnswer(I) = arrAnswer(I) & "D"
end if
if (I and 16) > 0 then
arrAnswer(I) = arrAnswer(I) & "E"
end if
if (I and 32) > 0 then
arrAnswer(I) = arrAnswer(I) & "F"
end if
next
if IsNumeric(Trim(request.querystring("prjid"))) = true then
intPrjID = CLng(Trim(request.querystring("prjid")))
end if
if IsNumeric(Trim(request.querystring("studentid"))) = true then
intStudentID = CLng(Trim(request.querystring("studentid")))
end if

if score(intPrjID,intStudentID) = false then '判分
response.write "<script>alert('判分失败!');window.open('index_main.asp','_self');</script>"
call closeConn()
response.end
end if
'取得考试基本信息
strStudentName = request.cookies("aoyi")("studentname")
set rsMark = server.createobject("ADODB.Recordset")
strSqlMark = "select P.prjname,P.limittime,P_S.starttime,P_S.endtime,P.ss_count,P.ms_count,P.b_count,P_S.mark from project P,prj_student P_S where P.prjid=P_S.prjid and P_S.prjid=" & intPrjID & " and P_S.studentid=" & intStudentID
rsMark.open strSqlMark,G_CONN,1,1
strPrjName = rsMark("prjname")
dtmStartTime = rsMark("starttime")
dtmEndTime = rsMark("endtime")
intSSCount = rsMark("ss_count")
intMSCount = rsMark("ms_count")
intBCount = rsMark("b_count")
intTotalMark = intSSCount + intMSCount * 2 + intBCount
intMark = rsMark("mark")
intLimitTime = rsMark("limittime")
rsMark.close

%>
<body>
   <a href="#" style="color:#00F;font-size:12px" onClick="window.print();">【打印本页】</a>
<table width="550" align="center" border="0" cellspacing="5" cellpadding="5">
<tr>
<td align="center" height="40">
<font size="4"><strong><%=strPrjName%></strong></font>
</td>
</tr>
<tr>
<td align="center">
姓名:<%=strStudentName%>    总分:<%=intTotalMark%>  得分:<font color="#FF0000"><%=intMark%></font>  开始时间:<%=dtmStartTime%>  用时:<%=DateDiff("n",dtmStartTime,dtmEndTime)%>分钟
</td>
</tr>
<tr>
<td><hr size="1" width="95%" color="#CCCCCC"></td>
</tr>
<%
'显示单项选择题
strSqlMark = "select P_P.answer as myanswer,S.answer,P_P.orderid,S.content,S.option1,S.option2,S.option3,S.option4,S.option5,S.option6 from prj_process P_P,subject S where S.type=1 and P_P.subid=S.id and P_P.studentid=" & intStudentID & " and P_P.prjid=" & intPrjID & " order by P_P.orderid"
rsMark.open strSqlMark,G_CONN,1,1
if not rsMark.bof and not rsMark.eof then
%>
<tr>
<td height="30">
<font size=3><strong>单项选择题部分 (共<%=intSSCount%>题 每题1分 共<%=intSSCount%>分)</strong></font>
</td>
</tr>
<%
while not rsMark.eof
%>
<tr>
<td>
<strong><%=rsMark("orderid")%>. </strong>
<%=rsMark("content")%>
</td>
</tr>
<tr>
<td>
<%
if rsMark("option1") <> "" then
response.write " A " & rsMark("option1")
response.write "<br>"
end if
if rsMark("option2") <> "" then
response.write " B " & rsMark("option2")
response.write "<br>"
end if
if rsMark("option3") <> "" then
response.write " C " & rsMark("option3")
response.write "<br>"
end if
if rsMark("option4") <> "" then
response.write " D " & rsMark("option4")
response.write "<br>"
end if
if rsMark("option5") <> "" then
response.write " E " & rsMark("option5")
response.write "<br>"
end if
if rsMark("option6") <> "" then
response.write " F " & rsMark("option6")
response.write "<br>"
end if
response.write "<br>你的答案是:"
if rsMark("myanswer") = rsMark("answer") then
response.write "<font color='#00AA00'>" & arrAnswer(rsMark("myanswer")) & "</font>"
elseif rsMark("myanswer") > -1 then
response.write "<font color='#FF0000'>" & arrAnswer(rsMark("myanswer")) & "</font>"
else
response.write "<font color='#DD6600'>未答题</font>"
end if
response.write "    正确答案是:<font color='#0000FF'>" & arrAnswer(rsMark("answer")) & "</font>"
%>
</td>
</tr>
<%
rsMark.movenext
wend
rsMark.close
end if
'显示多项选择题
strSqlMark = "select P_P.answer as myanswer,S.answer,P_P.orderid,S.content,S.option1,S.option2,S.option3,S.option4,S.option5,S.option6 from prj_process P_P,subject S where S.type=2 and P_P.subid=S.id and P_P.studentid=" & intStudentID & " and P_P.prjid=" & intPrjID & " order by P_P.orderid"
rsMark.open strSqlMark,G_CONN,1,1
if not rsMark.bof and not rsMark.eof then
%>
<tr>
<td height="30">
<font size=3><strong>多项选择题部分 (共<%=intMSCount%>题 每题2分 共<%=intMSCount * 2%>分)</strong></font>
</td>
</tr>
<%
while not rsMark.eof
%>
<tr>
<td>
<strong><%=rsMark("orderid")%>. </strong>
<%=rsMark("content")%>
</td>
</tr>
<tr>
<td>
<%
if rsMark("option1") <> "" then
response.write " A " & rsMark("option1")
response.write "<br>"
end if
if rsMark("option2") <> "" then
response.write " B " & rsMark("option2")
response.write "<br>"
end if
if rsMark("option3") <> "" then
response.write " C " & rsMark("option3")
response.write "<br>"
end if
if rsMark("option4") <> "" then
response.write " D " & rsMark("option4")
response.write "<br>"
end if
if rsMark("option5") <> "" then
response.write " E " & rsMark("option5")
response.write "<br>"
end if
if rsMark("option6") <> "" then
response.write " F " & rsMark("option6")
response.write "<br>"
end if
response.write "<br>你的答案是:"
if rsMark("myanswer") = rsMark("answer") then
response.write "<font color='#00AA00'>" & arrAnswer(rsMark("myanswer")) & "</font>"
elseif rsMark("myanswer") > -1 then
response.write "<font color='#FF0000'>" & arrAnswer(rsMark("myanswer")) & "</font>"
else
response.write "<font color='#DD6600'>未答题</font>"
end if
response.write "    正确答案是:<font color='#0000FF'>" & arrAnswer(rsMark("answer")) & "</font>"
%>
</td>
</tr>
<%
rsMark.movenext
wend
rsMark.close
end if

'显示是非题
strSqlMark = "select P_P.answer as myanswer,P_P.orderid,S.content,S.answer from prj_process P_P,subject S where S.type=3 and P_P.subid=S.id and P_P.studentid=" & intStudentID & " and P_P.prjid=" & intPrjID & " order by P_P.orderid"
rsMark.open strSqlMark,G_CONN,1,1
if not rsMark.bof and not rsMark.eof then
%>
<tr>
<td height="30">
<font size=3><strong>是非题部分 (共<%=intBCount%>题 每题1分 共<%=intBCount%>分)</strong></font>
</td>
</tr>
<%
while not rsMark.eof
%>
<tr>
<td>
<strong><%=rsMark("orderid")%>. </strong>
<%=rsMark("content")%>
<br>
你的答案是:
<%
if rsMark("myanswer") = rsMark("answer") then
if rsMark("myanswer") = 1 then
response.write "<font color='#00AA00'>是</font>"
elseif rsMark("myanswer") = 0 then
response.write "<font color='#00AA00'>否</font>"
end if
else
if rsMark("myanswer") = 1 then
response.write "<font color='#FF0000'>是</font>"
elseif rsMark("myanswer") = 0 then
response.write "<font color='#FF0000'>否</font>"
else
response.write "<font color='#DD6600'>未答题</font>"
end if
end if
response.write "    正确答案是:"
if rsMark("answer") = 1 then
response.write "<font color='#0000FF'>是</font>"
else
response.write "<font color='#0000FF'>否</font>"
end if
%>
</td>
</tr>
<%
rsMark.movenext
wend
rsMark.close
end if
set rsMark = nothing
G_CONN.Execute "delete from prj_process where prjid=" & intPrjID & " and studentid=" & intStudentID
call closeConn()
%>
</table>
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
up1325 2009-11-13
  • 打赏
  • 举报
回复
先谢谢 上面的几位朋友 我改改看 才学这个 菜鸟
lzp4881 2009-11-13
  • 打赏
  • 举报
回复
把所有的rsMark.close
都放到end if
后面
ACMAIN_CHM 2009-11-13
  • 打赏
  • 举报
回复
改成如下。

...........
<%
rsMark.movenext
wend
end if
rsMark.close

'显示是非题
strSqlMark = "select P_P.answer as myanswer,P_P.orderid,S.content,S.answer from prj_process P_P,subject S where S.type=3 and P_P.subid=S.id and P_P.studentid=" & intStudentID & " and P_P.prjid=" & intPrjID & " order by P_P.orderid"
rsMark.open strSqlMark,G_CONN,1,1
if not rsMark.bof and not rsMark.eof then
%>
<tr>
.................
friendly_ 2009-11-13
  • 打赏
  • 举报
回复
确保你的recordset在执行新的open时,先把recordset close掉。
你在 if then ... end if 中关闭了rsMark,但是当不走if 时,没有执行rsMark.close,下面又接着执行了rsMark.open。
up1325 2009-11-13
  • 打赏
  • 举报
回复

ADODB.Recordset 错误 '800a0e79'
对象打开时,不允许操作。
testfinish.asp,行 227

错误就是这样的
shenchendt 2009-11-13
  • 打赏
  • 举报
回复
你把错误提示贴出来,这样会很清楚地为你解决的
up1325 2009-11-13
  • 打赏
  • 举报
回复
哪位朋友帮我看看里面的问题,我知道是记录集开、关的问题,可是我才学习这个,看不懂这个代码了
第一步、将KesionEshop程序上传到你的WEB空间; 第二步、用计事本打开根目录下的conn.asp文件修改数据库连接,ACCESS版请注意连接路径,请使用根相对路径填写数据库路径。 系统默认在站点根目录,如果你在子目录下面运行本程序,请在数据库连接名称前加上目录名称;\nDBPath='\\KS_Data\\KS_DataBase4.mdb'改为\uff1aDBPath='\\\u5b50\u76ee\u5f55\\KS_Data\\KesionCMS4.mdb'前面一定要加上“\” 第三步、打开Admin目录下的ChkCode.asp文件,更改后台认证码参数(后台登录默认是开启认证码功能,初始认证码为:kesion2007) 第四步、登录后台(Admin/login.asp)开始体验V4.0的全新功能吧~~(友情提示:默认用户名:admin密码admin888,初始认证码为:kesion2007) KesionCMSV4.0SP1What'sNew 1、文章系统前后台(包括自定义出来的模型)增加附件上传功能 2、增加评论系统的详细控制,可以控制评论系统总开关,是否允许匿名发表,是否显示等 3、增加留言系统可以随时设置开或关,具体在基本信息设置->留言选项 4、增加批量发布通用自定义页面 5、增加站内短消息搜索功能,可以标题或内容进行搜索。 6、个人空间增加三级域名的支持 7、修复后台搜索助理没有搜索权限时,仍可搜索的BUG 8、修复竖排登录框的小BUG(如,验证码无法关闭及显示错位等) 9、修复关闭个人空间,日志还可以浏览的BUG 10、个人日志设为需要审核时,会员中心修改后变为自动审核的BUG 11、修复专题页放分页标签提示标签位置出错的bug 12、返回供求交易类型的一点点小bug 13、修复供求系统会员中心发布提示类型不匹配:'[string:'Html/']' 14、修复模型名称为数字字符开头时,无法为普通管理员分配详细权限 15、修复循环标签按日期或点击数排序时出错 16、图片循环标签,下载循环标签循环栏目顶部增加'更多...' 17、修复影视系统参数设置没有保存按钮的BUG 18、修复flash幻灯片标签显示标题时,多了一个空行 19、修复图片系统批量更改模板时出现ADODB.Recordset错误'800a0e79'. 20、修复自定义模型基类型为文章且没有选择文章内容系统字段时,提示类型不匹配:'HTMLEncode' 21、重写chkclng函数,避免部分转换失败时提示错误'80020009' 22、修复普通管理员分配商城系统资金明细查询权限,却提示无权限的BUG 23、修复自定义模型中(模型类型为文章),建立日期字段且选择为“非必填字段”,提交时也会报告该字段日期格式不正确的小bug 24、修复部分环境下自定义模型不勾选内容项(U、C)时,前台会提示无效使用Null:'Split' 25、修复分本给普通管理员插件管理权限时,无法显示的小BUG 26、修复SQL版设置了距离上次收费时间xx小时后重新收费,提示为datediff指定了无效的参数1。 27、修复采集项目翻页到第二页是空白的BUG 28、修复栏目专题列表标签,将专题ID号超过10以后,导致非本专题下的信息也列出的一点小bug 29、取消自己投稿的收费文章,自己看也要收费 30、修复免费版的文章加入自定义js出错JS/Admin/include/JSFreeView.asp,行16 31、修复终级下载分页列表错误,选择ajzx以外的输出格式就会出现标签无法解释,提示类似{$GetLastDownLoadList(3,22,.. 32、修复后台分配给普通管理员“插件--自定义表单'权限却不显示的BUG 33、图片系统内容页模板增加标签{$GetPictureSrc},方便在内容页获得图片缩略图地址 34、所有内容页增加如下标签:{$ChannelID}{$InfoID}{$ItemName}{$ItemUnit}分别是模型ID,当前信息ID,项目名称,项目单位 35、修复会员中心发布自定义(文章)模型,当没有选择文章内容且选择图片上传时,提示脚本出错的小BUG 36、修复自定义sql标签,输出类型为ajax且为分页标签时,没有正确读取当前栏目ID号的BUG 37、修复Admin/KS.comment.asp评论管理的一点小BUG 38、修复图片系统图片单张图片介绍里含有回车字符时,重新编辑图片会提示脚本出错,导致无法编辑保存 39、修复模板,标签编辑器没有正确读取上传目录的小bug 40、搜索页模板增加一些下载的常用标签如{$GetDownSystem},{$GetDownSize},{$GetDownLanguage}等等 41、改正自定义字段不允许修改字段类型 42、修复会员中心,用

28,406

社区成员

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

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