随机得到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>

<!--Page Language="C#" Debug="true"-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值