|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
我们在编写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 怎么样不是很难吧,试试看吧!:)加上这段程序后,每次刷新首页都能看到不同的连接。因为随机函数的几率是相同 的,这样才使那些加入“自助连接”的朋友有了一样的对待。 返回类别: 教程 上一教程: 手把手教你使用VB来创建ASP组件(3) 下一教程: 生成一个不重复的随即数字 您可以阅读与"利用随机函数获取某一范围的整数及其应用"相关的教程: · 一个不错的随机函数 · 用自定义函数获取汉字的首字母 · 检测整数和长整数的函数 · 产生随机密码的函数 · 利用CDONTS发送邮件的ASP函数 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |