ASP.NET 2.0下随机读取Access记录的实现方法

由于使用ADO访问Access数据库会有缓存,这在随机提取数据库数据时,例如:sql="select top 10 Title,objectGuid from Document Order By Rnd(id)",将得不到随机记录,下面的例子可以克服这一缺陷,实现数据库的随机读取。
C#: 


代码如下:

<%@ Page Language="C#" %>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<script runat="server">  
protected void Page_Load( object sender, EventArgs e )  
{  
Random rnd = new Random(unchecked((int)DateTime.Now.Ticks));  
int intRandomNumber = rnd.Next();  
string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= DataDirectory aspxWeb.mdb;Persist Security Info=True";  
string sql = "select top 10 Title,objectGuid from Document Order By Rnd(" + (-1 * intRandomNumber) + "*id)";  
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(ConnectionString);  
cn.Open();  
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, cn);  
System.Data.OleDb.OleDbDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);  
GridView1.DataSource = dr;  
GridView1.DataBind();  
dr.Close();  
cmd.Dispose();  
cn.Dispose();  
cn = null;  
}  
</script>

(0)

相关推荐

  • 一个简答的Access下的分页asp.net代码

    复制代码 代码如下: public void listArticle() { CmsArticle arObj = new CmsArticle(); DataSet ds = arObj.listArticle(); if (ds != null) { PagedDataSource pds = new PagedDataSource(); pds.DataSource = ds.Tables[0].DefaultView; pds.AllowPaging = true; pds.PageSi

  • asp.net access添加返回自递增id的实现方法第1/3页

    先看界面: 添加后数据库: 而所要执行的语句: 复制代码 代码如下: string name_    = this.tbxUseName.Text.Trim();     string webname_ = this.tbxWebName.Text.Trim();     string url_ = this.tbxUrl.Text.Trim();     AddFieldItem("news_Title", name_);     AddFieldItem("news_So

  • asp.net和asp下ACCESS的参数化查询

    今天我就把我用ACCESS参数化查询的一些方法和经验和大家分享 希望对大家有所启发,有写的不对的地方希望高手们多多指教 ASP.NET 用OleDbCommand的new OleDbParameter创建参数货查询 ASP用Command的CreateParameter 方法创建参数化查询 (SQL储存过程查询也是用这个方法建立的) ASP.NET C#语法 OleDbParameter parm = new OleDbParameter(Name, Type, Direction, Size,

  • ASP.NET oledb连接Access数据库的方法

    使用OleDBCommand相关操作类需要引入System.Data.OleDb命名空间. 通过连接一个带密码的access数据库 读取其中的数据并置入表格中显示,验证连接和命令使用正确性. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Da

  • ASP.NET 连接ACCESS数据库的简单方法

    index.aspx 复制代码 代码如下: <%@ Page Language="C#" %><%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.OleDb" %><script runat="server">    // Insert page code here    //    voi

  • asp.net(C#) Access 数据操作类

    复制代码 代码如下: using System; using System.Configuration; using System.Data; using System.Data.OleDb; using System.Xml; using System.Collections; namespace Website.Command { /// <summary> /// WSplus 的摘要说明. /// </summary> public class AccessClass :

  • asp.net通过配置文件连接Access的方法

    本文实例讲述了asp.net通过配置文件连接Access的方法.分享给大家供大家参考.具体分析如下: 这里数据库blog.mdb存放在App_Data中 配置文件 <connectionStrings> //方法一 <add name="access_conn" connectionString="Provider=Microsoft.Jet.Oledb.4.0;data source="/> <add name="acces

  • ASP.net(c#)用类的思想实现插入数据到ACCESS例子

    昨天写了一半,一直没弄清楚当ACCESS数据库的连接代码写成类的时候路径该怎么写,搞了半天,还是用绝对路径解决了,似乎Server.MapPath没法在cs文件中使用. 要实现的功能如下: 尽量用类的思想来完成数据的插入,因为这个例子简单,所以我也就不多说什么.大家自己看代码,不懂的可以到论坛交流. 1.首先是ACCESS数据库的设计,数据库名:myData,表名:student 字段名称                    数据类型 sid                          

  • asp.net实现access数据库分页的方法

    asp.net操作access数据库是常见的数据库操作应用,本文就来实例讲解一下asp.net实现access数据库分页的方法.希望对大家的asp.net程序设计能有所帮助. 具体实例代码如下: <divclass="page"id="ctrlRecordPage"> 总<asp:LabelID="Zpage"runat="server"Text="1"></asp:Label

  • asp.net 数据库备份还原(sqlserver+access)

    /********************************************************************************** * * 功能说明:备份和恢复SQL Server数据库 * 作者: 刘功勋; * 版本:V0.1(C#2.0);时间:2007-1-1 * 当使用SQL Server时,请引用 COM组件中的,SQLDMO.dll组件 * 当使用Access中,请浏览添加引用以下两个dll * 引用C:\Program Files\Common

随机推荐