|
蓝森林 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
%> |
|