极品桌面
极品网文
极品日记
访客留言
加载中...
网文首页
精妙网文
爆笑网文
网页制作
小说连载
ASP
网页技术
网站相关
XML
建站经验
PHP
MS SQL
查看文章
在ASP中使用SQL语句之8:随机数
作者:未知 来源:未知 添加时间:2003年3月26日 字体:
大
中
小
83580
建立随机生成的HTML代码是一件相当容易实现的ASP特性。你可能创建过“每日一帖”、滚动广告等等,只需要稍加点缀就会令你的网站日久弥新。
}0$=
}0$=
对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环:
}0$=
Randomize
}0$=
RNumber = Int(Rnd*499) +1
}0$=
}0$=
While Not objRec.EOF
}0$=
If objRec("ID") = RNumber THEN
}0$=
}0$=
... 这里是执行脚本 ...
}0$=
}0$=
end if
}0$=
objRec.MoveNext
}0$=
Wend
}0$=
}0$=
这很容易理解。首先,你取出1到500范围之内的一个随机数(假设500就是数据库内记录的总数)。然后,你遍历每一记录来测试ID 的值、检查其是否匹配RNumber。满足条件的话就执行由THEN 关键字开始的那一块代码。假如你的RNumber 等于495,那么要循环一遍数据库花的时间可就长了。虽然500这个数字看起来大了些,但相比更为稳固的企业解决方案这还是个小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候不就死定了?
}0$=
}0$=
采用SQL,你就可以很快地找出准确的记录并且打开一个只包含该记录的recordset,如下所示:
}0$=
Randomize
}0$=
RNumber = Int(Rnd*499) + 1
}0$=
}0$=
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber
}0$=
}0$=
set objRec = ObjConn.Execute(SQL)
}0$=
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
}0$=
}0$=
不必写出RNumber 和ID,你只需要检查匹配情况即可。只要你对以上代码的工作满意,你自可按需操作“随机”记录。Recordset没有包含其他内容,因此你很快就能找到你需要的记录这样就大大降低了处理时间。
}0$=
}0$=
再谈随机数
}0$=
}0$=
现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random 示例扩展一下就可以用SQL应对上面两种情况了。
}0$=
}0$=
为了取出几条随机选择的记录并存放在同一recordset内,你可以存储三个随机数,然后查询数据库获得匹配这些数字的记录:
}0$=
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3
}0$=
}0$=
假如你想选出10条记录(也许是每次页面装载时的10条链接的列表),你可以用BETWEEN 或者数学等式选出第一条记录和适当数量的递增记录。这一操作可以通过好几种方式来完成,但是 SELECT 语句只显示一种可能(这里的ID 是自动生成的号码):
}0$=
SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9"
}0$=
}0$=
注意:以上代码的执行目的不是检查数据库内是否有9条并发记录。如果你需要保证每次选出10条记录,那么你必须进一步设计查询。
83577
返回页面顶端
上一篇:
在ASP中使用SQL语句之7:ORDER BY
下一篇:
在ASP中使用SQL语句之9:表单操作
返回上一页
打印本文
加入收藏
页面最后更新时间:2011年5月18日
相关文章:
在ASP中使用SQL语句之12:连接
在ASP中使用SQL语句之11:记录统计
在ASP中使用SQL语句之10:视图
在ASP中使用SQL语句之9:表单操作
在ASP中使用SQL语句之7:ORDER BY
在ASP中使用SQL语句之6:存储查询
在ASP中使用SQL语句之5:开始执行
在ASP中使用SQL语句之4:联合语句
在ASP中使用SQL语句之3:LIKE、NOT LIKE和 BETWEEN
在ASP中使用SQL语句之2:用WHERE子句设置查询条件
在ASP中使用SQL语句之1:SELECT 语句