ASP.NET随机显示数据库记录

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航