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

谁能解释一下,下面的循环中为什么会执行两次?

yitian2007 发布于 2007-11-22 15:25, 731 次点击
谁能解释一下,下面的循环中为什么会执行两次?
<%
 Set rs=server.CreateObject("adodb.recordset")
 rs.open "select * from review where id in (9,10)",conn,1,1
 While Not rs.eof
   conn.execute "insert into user2 (pid,postime) values('"&rs("id")&"','"&now&"')"
   rs.movenext
 Wend
 rs.close
 Set rs=Nothing
%>

  
结果会插入
'----------
id              pid         postime
1                9         2007-11-22 下午 03:13:32
2                10        2007-11-22 下午 03:13:32
3                9         2007-11-22 下午 03:13:32
4                10        2007-11-22 下午 03:13:32
'-------------
6 回复
#2
yms1232007-11-22 15:36
<%
Set rs=server.CreateObject("adodb.recordset")
rs.open "select * from review where id=9 or id=10",conn,1,1
Do Until rs.eof
   conn.execute "insert into user2 (pid,postime) values('"&rs("id")&"','"&now&"')"
   rs.movenext
Loop
rs.close
Set rs=Nothing
这样呢?
%>
#3
yms1232007-11-22 16:20
<%
Set rs=server.CreateObject("adodb.recordset")
rs.open "select * from review where id=9 or id=10",conn,1,1
Response.Write "查找到"&rs.recordcount&"条数据"
'Do Until rs.eof
   'conn.execute "insert into user2 (pid,postime) values('"&rs("id")&"','"&now&"')"
   'rs.movenext
'Loop
rs.close
Set rs=Nothing
%>
看看显示多少条数据?
#4
slfyeye2007-11-22 16:22
恩,按上面先试一下。
#5
yitian20072007-11-22 16:37
查找到2条数据
#6
yitian20072007-11-22 16:39
我在循环里加打印记录ID语名,只打印出9和10,没有第二次打印;但看结果好象第二次插入一样!
是不是数据库的问题,我用的是ACCESS数据库。
#7
yms1232007-11-22 16:40
<%
Dim i
Set rs=server.CreateObject("adodb.recordset")
rs.open "select * from review where id=9 or id=10",conn,1,1
For i=0 To rs.recordcount-1
   conn.execute "insert into user2 (pid,postime) values('"&rs("id")&"','"&now&"')"
   rs.movenext
Next
rs.close
Set rs=Nothing
%>
再试试?
1