蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

[ASP]循环生成不同随机数的简单问题!

写一段randomize rnd的代码,然后运行,不停地刷新网页数字会不断变化
但我想循环生成并写入数据库相应字段却无法实现,输入的数字全部相同
请问该如何改程序呢?
代码如下:

[code] <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="connsql.asp"-->
<% set rs=server.CreateObject("adodb.recordset")
sql="select URL from info"
   rs.open sql,conn,1,3
do while not rs.eof
randomize
rnumber=INT((9999-1000+1)*RND+1000)
   sql="update info set Rnum='"&rnumber&"'"
   conn.execute(sql)
   rs.movenext
   loop
   %> [/code]

http://www.china-askpro.com/msg22/qa79.shtml

大侠谢谢您,可我看了那篇文章只是提到产生无重复的随机数
而我的这个问题跟是否重复没有关系
我的问题出在写入到数据库中的数字全部相同

我怀疑是不是recordset对象打开以后,若已由某个变量赋了值,那么改变这个变量的值已经不会对rs有影响了,也就是rs不于理睬了,是这样吗???

我觉得我的猜想可能是正确的,因为如下代码:
[html]
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"
for i=1 to 100
randomize
rnumber=INT((9998-1000+1)*RND+1000) '产生随机数赋给告示
response.Write rnumber&"<br>"
next%>[/html]

RS只是记录集
代码需要进行记录定位后才可以记录修改

<%      ...   
           ...
do while not rs.eof
ID=rs("id")           /读取主建
randomize
rnumber=INT((9999-1000+1)*RND+1000)
   sql="update info set Rnum='"&rnumber&"' where id='" &id&  "'"   /id匹配后写入
   conn.execute(sql)
   rs.movenext
   loop
   %>




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com