帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
利用随机函数获取某一范围的整数及其应用
作者: 发布时间:2005-03-12 来源:
[“酷闪”原创]

我们在编写ASP的过程中经常会遇到需要取得一个整数范围内的一个随机整数,利用VBScript内建的Rnd()函数可以很轻松
的得到这样的整数,假如要从[min,max]这个整数范围内随机抽取一个整数,具体公式如下:

随机整数=Int((max-min+1)*Rnd()+min)

仔细思考一下上面的公式,应该很快能理解其中的含义。

下面就以“酷闪”首页“自助链接”为例,来说明随机抽取整数在数据库查询中的一个用途。

构想


“酷闪”首页提供自助连接,允许自行加入某网站连接。
一般的“自助连接”只是在首页显示最新加入的若干个连接,然后另外提供一个浏览所有连接的页面,很多情况下,只有
不多的浏览者去打开该页去查询以前加入的连接,这样就使得比较早加入的连接基本没有被点击的机会。根据这种情况采
取以下方案:在首页显示10个连接,其中前3个是最新加入的连接,后7个从以前加入的连接中随机抽取7个显示。

具体实现


用Access数据库保存用户信息(网站名称,网址,简要说明),建立add.asp(加入操作页面),
改造首页加入显示程序段。这里只对显示程序段给以说明。
假设Access数据库文件为link.mdb,并已经有超过20个的连接信息,其中自助连接信息放在表selflink中,包含字段:
ID,网站名称,地址,简要说明,加入时间

程序代码

'首页打开数据库,并将所有记录按时间倒序排列,新加入的在前
set con=server.CreateObject("adodb.connection")
con.open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("link.mdb")
set rst=server.createobject("adodb.Recordset")
rst.open "select * from selflink order by 加入时间desc",con,3,1,1

'显示最新加入的3个连接
rst.movefirst
for i=1 to 3
response.write "<a href="&rst("地址")&">"&rst("网站名称")&"</a><br>"
rst.movenext
next

'从第4个到第20个记录中随机抽取7个
randomize
for i=1 to 7
rndtemp=rst.recordcount-1
curorrnd=Int((rndtemp-3+1)*Rnd()+3))
rst.move curorrnd,1
response.write "<a href="&rst("地址")&">"&rst("网站名称")&"</a><br>"
next

'关闭数据库,清除内存
rst.close
con.close
set rst=nothing
set con=nothing

此例在WIN98+PWS上调试成功,但在NT+IIS时指令:rst.move curorrnd,1可能会遇到困难,可做如下改动:
rst.movefirst
rst.move curorrnd

怎么样不是很难吧,试试看吧!:)加上这段程序后,每次刷新首页都能看到不同的连接。因为随机函数的几率是一样
的,这样才使那些加入“自助连接”的朋友有了相同的对待。
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·<展现C#> 第六章 控制语句(rain  (2005-03-12)
 ·利用OWC服务器端组件动态生成图表  (2005-03-12)
 ·利用WSH作定時工作排程  (2005-03-12)
 ·利用ASP制作EXECL报表方法(一)  (2005-03-12)
 ·利用ASP制作EXECL报表方法(二)  (2005-03-12)
 ·利用MSCHART画图的一段代码  (2005-03-12)
 ·取得服务器上用户组列表的脚本之  (2005-03-12)
 ·如何利用ASP实现邮箱访问  (2005-03-12)
 ·利用OWC画图的例子  (2005-03-12)
 ·利用On Error Resume Next来验证  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统