设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 63|回复: 7
打印 上一主题 下一主题

哪位大虾帮我看看这段代码,哪里出问题了?

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-18 07:52:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想做个在线的考试程序,下面这个评分的代码就常出问题,
set rsend=conn.execute("select * from test1")
f=0
i=1
do while not rsend.eof
if request.Form("Q"&i)=rsend("answer") then
f=f+1
i=i+1
rsend.movenext
end if
loop
fs=100/i*f

我想应该是这段出问题,,但我不知怎样解决,,大虾,,看你们的了!
2#
发表于 2010-1-18 07:52:47 | 只看该作者
自己顶
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-18 07:52:51 | 只看该作者
set rsend=conn.execute("select * from test1") f=0 i=1 do while not rsend.eof if request.Form("Q"&i)=rsend("answer") then f=f+1 i=i+1 rsend.movenext end if loop 代码两处地方首先循环记录集用Do Until rsend.eof就很管用。 还有就是rsend.movenext的位置不对,这个错误可能会导致的后果是死循环。网页执行当机。 set rsend=conn.execute("select * from test1") f=0 i=1 Do Until rsend.eof if request.Form("Q"&i)=rsend("answer") then f=f+1 i=i+1 end if rsend.movenext loop 以上为修改后的代码。
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-18 07:52:55 | 只看该作者
超级谢谢~~~~~~ 我自己还发现了一个问题,, set rsend=conn.execute("select * from test1") f=0 i=1 Do Until rsend.eof if request.Form("Q"&i)=rsend("answer") then f=f+1 i=i+1 end if rsend.movenext loop 在判断答案对错时,,如果答案不对,,那就不执行 "i=i+1" 这句了,, 如果"i"还没加1就继续判断答案,,那后面的就乱了. 不知我这样分析对不? 我认为正确的处理方法应该如下: set rsend=conn.execute("select * from test1") f=0 i=1 Do Until rsend.eof if request.Form("Q"&i)=rsend("answer") then f=f+1 end if i=i+1 rsend.movenext loop
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-18 07:52:59 | 只看该作者
这个i=i+1是不是放在rsend.movenext后面更好.
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-18 07:53:02 | 只看该作者
i=i+1放在rsend.movenext后面是不是更好
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-18 07:53:06 | 只看该作者
有道理
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-20 02:39 , Processed in 0.092690 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表