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

死循环问题,求助。。

skybirdzw 发布于 2008-10-17 16:09, 976 次点击
我的这段代码陷入死循环了,, 运行提示脚本运行时间太长,各位帮我看下代码哪里有问题啊?谢谢了!

response.Write "<table width='180' border='0' cellpadding='0' cellspacing='0' class='color_lan'><tr>"
    row=0
    do while not(menu_rs.eof and menu_rs.bof)
        response.Write "<td width='71' height='30' align='center' class='bottom_line'><a href='list.asp?smallid="&menu_rs("small_id")&"&amp;midid="&menu_rs("mid_id")&"'>"&menu_rs("small_name")&"</a></td>"
        row=row+1
    menu_rs.movenext
    if row mod 2=0 then
        response.Write "</tr><tr>"
    end if
    loop
    response.Write "</tr></table>"
8 回复
#2
sunfishy2008-10-17 16:26
if row mod 2 == 0 then '等号.不是赋值号.
        response.Write "</tr><tr>"
    end if
 menu_rs.movenext
row=row+1
    loop
    response.Write "</tr></table>"

[[it] 本帖最后由 sunfishy 于 2008-10-17 16:32 编辑 [/it]]
#3
kira0072008-10-17 16:28
do while not(menu_rs.eof and menu_rs.bof)

do while not menu_rs.eof
#4
skybirdzw2008-10-17 16:36
还是一样啊!郁闷了
#5
skybirdzw2008-10-17 16:46
突然又好了!奇怪!呵呵,谢谢啊 !
#6
nicechlk2008-10-17 18:42
if row mod 2=0 then
这个用等号是可以的。
do while not(menu_rs.eof and menu_rs.bof)
这个也是没有问题的。
一般情况下,脚本执行时间太长大多都是数据库查询的代码出现手误,造成程序无法找到数据库或者数据表造成。
个人经验,我也经常出现手误。。。嘿嘿!
#7
cslldu2008-10-17 21:08
好像没有语法错误
#8
multiple19022008-10-17 21:24
[bo][un]sunfishy[/un] 在 2008-10-17 16:26 的发言:[/bo]

if row mod 2 == 0 then '等号.不是赋值号.
        response.Write ""
    end if
 menu_rs.movenext
row=row+1
    loop
    response.Write ""

VBS里面的等于运算符确实是=。
#9
nicechlk2008-10-17 23:21
突然就好了?
奇怪!
如果代码本身没有问题而脚本执行时间太长,一般可以怀疑是iis在内存中驻留没有刷新造成数据堵塞而导致的。个人经验,当本地调试时如果浏览器不反应,我就重启iis,同时关闭浏览器后再打开,即可解决。
如果以上步骤过后,还是不反应,那应该可以认定是代码有问题。
1