·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 随机得到Access数据库记录

随机得到Access数据库记录

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

由于access数据库记录集缓存的原因,从代码里得到Access数据库随机记录是得不到,需要用随机SQL语句的办法来消除缓存。

下面就是例子:

查看例子http://dotnet.aspx.cc/Exam/GetRandom.aspx

<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<title>随机得到Access数据库记录</title>
<script runat="server">
void Page_Load(Object src,EventArgs e)
{
if(!IsPostBack)
 {
 string MyConnString = "PRovider=Microsoft.Jet.OleDB.4.0;Data Source="
        + Server.MapPath("aspxWeb.mdb.ascx");
 Random R = new Random();
 int intRandomNumber = R.Next(1,1000);

 string sql = "select top 10 id As 序号,Title As 标题 from Document Order By Rnd("
      + (-1 * intRandomNumber).ToString() + "*id)";
 OleDbConnection MyConnection = new OleDbConnection(MyConnString);
 MyConnection.Open();
 OleDbCommand cmd = new OleDbCommand(sql,MyConnection);
 OleDbDataReader dr = cmd.ExecuteReader();
 
 DataGrid1.DataSource = dr;
 DataGrid1.DataBind();
 cmd.Dispose();
 MyConnection.Close();
 MyConnection.Dispose();
 MyConnection = null;
 }
}

</script>
<form runat=server>
<asp:DataGrid id="DataGrid1" HorizontalAlign="Center"
 Width="600px" runat="server" Font-Size="9pt">
 <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
 <HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center" />
</asp:DataGrid>
</form>