当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET 2.0下随机读取Access记录的实现方法

ASP.NET
.Net技术开发中两个“属性”引起的歧异
技术文档:解读.Net虚拟框架的实现原理
.Net课堂:总结必须学习的10项.NET技术
实现MSMQ消息加密的安全实践
C#中对DatagridView的部分常用操作
.Net基础:了解ASP.NET中的IFRAME框架挂马
ASP.NET中显示Linq To SQL输出的SQL语句
链表的顺序表示和实现(C++模板类实现)
如何在ASP.NET项目里面正确使用Linq to Sql
ASP.NET两个截取字符串的实用方法技巧
一个简单程序的反编译
ASP.NET MVC中你必须知道的13个扩展点
Entity Framework的默认值BUG解决方法
C#中通过Assembly类访问程序集信息
Java与.NET间进行Web Service交互的选择
C#中用鼠标移动页面功能的实现
程序员的信仰
ASP.NET多附件上传和附件编辑的实现
菜鸟课堂:在Visual C# .NET中跟踪和调试
IronPython和C#执行速度对比

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 121 ::
收藏到网摘: n/a

由于使用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>