
system名称空间有一个random类,用来产生随机数。本文就介绍利用这个random类来随机显示数据库记录。
random类有一个重载方法叫next,他能够产生随机数,他允许输入两个参数,以产生这两个数之间的随机数。例如:
random r = new random(); random.next(1,100);
将会在产生1-100之间的随机数。
要随机显示数据库记录,需要知道数据库最大记录数和最小记录数。
int recno=0,maxrecno,minrecno; random r = new random(); sqldatareader dr; sqlconnection cn = newsqlconnection("server=mengxianhui;database=northwind;uid=sa"); cn.open(); sqlcommand cmd = new sqlcommand("select max(productid) as maxprodid ,min(productid) as minprodid from products",cn); dr= cmd.executereader(); dr.read(); maxrecno = (int)dr["maxprodid"] ; minrecno = (int)dr["minprodid"] ; recno = r.next(minrecno,maxrecno);
然后得到随机得到记录。
cmd = new sqlcommand("select * from products where productid = " + recno,cn); dr = cmd.executereader(); dr.read(); response.write("今日的产品名称: " +dr["productid"] + " - " + dr["productname"] + ""); cn.close(); 完整代码如下:
<%@ page language="c#" debug="true" %> <%@import namespace="system.data.sqlclient"%> <%@import namespace="system.data"%> 随机显示数据库记录
|