随机得到Access数据库记录

随机得到Access数据库记录


随机得到Access数据库记录 
作者:孟宪会 出自: 
【孟宪会之精彩世界】
由于Access数据库记录集缓存的原因,
从代码里得到Access数据库随机记录是得不到,
需要用随机SQL语句的办法来消除缓存.下面就是例子: 

查看例子
 
 
<%@ 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>
 
  (2005-11-16:04:23)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [ADO.Net] 的这些文章也感兴趣:

ADO.NET Entity Framework
ADO.NET Entity Framework 体验:安装及初试
支持实体框架的首批ADO.NET Provider已经准备就绪
ADO.NET实体框架已经准备好面向企业级应用了吗?
用C#Builder建数据库应用程序
Using ADO.NET Data Service – Consuming
使用SqlDataReader读取数据示例
八家供应商为ADO.NET实体框架提供驱动
通过VisualC#.NET建一个DTS任务
Using ADO.NET Data Service – Consuming