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"%>
隨機抽取資料庫記錄
mysql select from tablename order by rand limit 10 sql server select top 5 from tablename order by newid access select top 5 from tablename order by r...
asp隨機讀取資料庫記錄
1 set rs server.createobject adodb.recordset rs.open select from news conn,1,1 if not rs.eof and rs.bof then rs.movefirst randomize 初始化乙個隨機數 i int rs....
sql隨機抽取資料庫記錄
mysql select from tablename order by rand limit 10 sql server select top 5 from tablename order by newid access select top 5 from tablename order by r...