ASP.NET隨機顯示數據庫記錄
2024-07-10 12:55:05
供稿:網友
本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。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"%>
<html>
<head>
<title>隨機顯示數據庫記錄</title>
</head>
<body>
<script runat="server">
void page_load(object sender,eventargs e)
{
int recno=0,maxrecno,minrecno;
random r = new random();
sqldatareader dr;
//**** 連接到數據庫
sqlconnection cn = new sqlconnection("server=mengxianhui;database=northwind;uid=sa");
cn.open();
//**** 找到最大的和最小的id號
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"];
dr.close();
//**** 創建一個隨機數
recno = r.next(minrecno,maxrecno);
//**** 顯示隨機記錄信息。
cmd = new sqlcommand("select * from products where productid = " + recno,cn);
dr = cmd.executereader();
dr.read();
response.write("今日的產品名稱: <b>" +dr["productid"] + " - " + dr["productname"] + "</b>");
dr.close();
cn.close();
}
</script>
</body>
</html>