asp循环问题

gaofeng220 2009-07-24 04:40:28
set rs4= server.CreateObject("adodb.recordset")
sql4= "select * from grade"
rs4.open sql4,conn,1,1
if not rs4.eof then
do while not rs4.eof
vstart= rs4("jf_start")
vend= rs4("jf_end")
rs4.movenext
loop
为什么数据不循环呢,请高手指点,谢谢
...全文
116 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaofeng220 2009-07-25
  • 打赏
  • 举报
回复
哪位大侠能把使用数组的方式的代码写一下,谢谢
zpzk123 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 king5924656 的回复:]
do while not rs4.eof
  vstart= rs4("jf_start")
  vend= rs4("jf_end")
Response.Write vstart&" <br>"&vend
rs4.movenext


把值输出,要不然循环的是赋值,直到最后一次赋值,赋一次值就输出一次,要不就用数组保存最后输出数组
[/Quote]
此话有理
落日听风 2009-07-24
  • 打赏
  • 举报
回复
do while not rs4.eof
vstart= rs4("jf_start")
vend= rs4("jf_end")
Response.Write vstart&"<br>"&vend
rs4.movenext


把值输出,要不然循环的是赋值,直到最后一次赋值,赋一次值就输出一次,要不就用数组保存最后输出数组
gaofeng220 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gxq323 的回复:]
引用 8 楼 gaofeng220 的回复:
引用 7 楼 gxq323 的回复:
k=0
do while not rs4.eof
  vstart(k)= rs4("jf_start")
  vend(k)= rs4("jf_end")
  k=k+1
rs4.movenext

数据类型不对,我这个是数字的
想数据循环就得把rs赋给数组,你那赋给变量直接就覆盖了
[/Quote]
糊糊了,我的是数值型的,您 能给具体写一下代码,我的始终显示类型不匹配,谢谢
gxq323 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 gaofeng220 的回复:]
引用 7 楼 gxq323 的回复:
k=0
do while not rs4.eof
  vstart(k)= rs4("jf_start")
  vend(k)= rs4("jf_end")
  k=k+1
rs4.movenext

数据类型不对,我这个是数字的
[/Quote]想数据循环就得把rs赋给数组,你那赋给变量直接就覆盖了
lwife 2009-07-24
  • 打赏
  • 举报
回复
使用前将数据库名、表名、字段名改成自己的


<%
set conn=server.createobject("adodb.connection")
conn.open "DBQ="&server.mappath("001.mdb")&";Driver={Microsoft Access Driver (*.mdb)};"

Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select * from test"
rs.open sql,conn,1,1

if rs.eof then
response.write "对不起,没有找到任何数据。"
else

do while not rs.eof
response.write rs("xxx") & "<br>"
rs.movenext
loop
end if

rs.close
set rs = nothing
%>
gechenyilie 2009-07-24
  • 打赏
  • 举报
回复
set rs4= server.CreateObject("adodb.recordset")
sql4= "select * from grade"
rs4.open sql4,conn,1,1
dim i
i=rs4.pagesize
if not rs4.eof and i>0then
do while not rs4.eof
i=i-1
vstart= rs4("jf_start")
vend= rs4("jf_end")
rs4.movenext
loop
gaofeng220 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gxq323 的回复:]
k=0
do while not rs4.eof
  vstart(k)= rs4("jf_start")
  vend(k)= rs4("jf_end")
  k=k+1
rs4.movenext
[/Quote]
数据类型不对,我这个是数字的
gxq323 2009-07-24
  • 打赏
  • 举报
回复
k=0
do while not rs4.eof
vstart(k)= rs4("jf_start")
vend(k)= rs4("jf_end")
k=k+1
rs4.movenext
gaofeng220 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lwife 的回复:]
do while not rs4.eof
  vstart= rs4("jf_start")
  vend= rs4("jf_end")
rs4.movenext

数据没有输出吧,光赋值的话,就算循环100次,也是取的最后一条记录的值。
[/Quote]

麻烦您能写个完整的,能运行的吗?
lwife 2009-07-24
  • 打赏
  • 举报
回复
do while not rs4.eof
vstart= rs4("jf_start")
vend= rs4("jf_end")
rs4.movenext

数据没有输出吧,光赋值的话,就算循环100次,也是取的最后一条记录的值。
gaofeng220 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 suano 的回复:]
应该是你sql语句没有数据吧,你response.write rs4.recordcount看看有没有记录
[/Quote]

有数据,但只显示一条数据
suano 2009-07-24
  • 打赏
  • 举报
回复
应该是你sql语句没有数据吧,你response.write rs4.recordcount看看有没有记录
gaofeng220 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wstcdy1314 的回复:]
之前我也遇到这个问题,也不知道是怎么的
  结果使用for循环就是对的
      你使用for循环试试
[/Quote]

能参照这个给写一下吗,不太明白,谢谢
wstcdy1314 2009-07-24
  • 打赏
  • 举报
回复

之前我也遇到这个问题,也不知道是怎么的
结果使用for循环就是对的
你使用for循环试试

28,406

社区成员

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

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