会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 查询视图 > 正文

随机得到Access数据库记录

时间:2009-08-25 08:36 来源:chinaitlab 作者:UMVSoft整… 阅读:
由于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>

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: