| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 271 人关注过本帖
标题:谁能解释一下,下面的循环中为什么会执行两次?
收藏  订阅  推荐  打印 
yitian2007
Rank: 1
等级:新手上路
帖子:14
积分:240
注册:2007-11-21
谁能解释一下,下面的循环中为什么会执行两次?

谁能解释一下,下面的循环中为什么会执行两次?
<%
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
'-------------
搜索更多相关主题的帖子: Set  pid  conn  
2007-11-22 15:25
yms123
Rank: 12Rank: 12Rank: 12
等级:版主
威望:75
帖子:8192
积分:83594
注册:2004-7-17

<%
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
这样呢?
%>

http://www.lxzhcn.net
临时域名:http://yms126.1.suhai.com.cn/
版块版主招募中
网站论坛发帖无问题,欢迎发帖。
2007-11-22 15:36
yms123
Rank: 12Rank: 12Rank: 12
等级:版主
威望:75
帖子:8192
积分:83594
注册:2004-7-17

<%
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
%>
看看显示多少条数据?

http://www.lxzhcn.net
临时域名:http://yms126.1.suhai.com.cn/
版块版主招募中
网站论坛发帖无问题,欢迎发帖。
2007-11-22 16:20
slfyeye
Rank: 2
来自:上海
等级:注册会员
威望:1
帖子:163
积分:1804
注册:2006-3-5

恩,按上面先试一下。

2007-11-22 16:22
yitian2007
Rank: 1
等级:新手上路
帖子:14
积分:240
注册:2007-11-21

查找到2条数据
2007-11-22 16:37
yitian2007
Rank: 1
等级:新手上路
帖子:14
积分:240
注册:2007-11-21

我在循环里加打印记录ID语名,只打印出9和10,没有第二次打印;但看结果好象第二次插入一样!
是不是数据库的问题,我用的是ACCESS数据库。
2007-11-22 16:39
yms123
Rank: 12Rank: 12Rank: 12
等级:版主
威望:75
帖子:8192
积分:83594
注册:2004-7-17

<%
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
%>
再试试?

http://www.lxzhcn.net
临时域名:http://yms126.1.suhai.com.cn/
版块版主招募中
网站论坛发帖无问题,欢迎发帖。
2007-11-22 16:40
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.057288 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved