随机显示数据库记录

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"%> 随机显示数据库记录 <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("今日的产品名称: " +DR["ProductID"] + " - " + DR["ProductName"] + ""); DR.Close(); CN.Close(); } </script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值