随机得到Access数据库记录
发布时间:2010/6/28 15:47:13 来源:城市学习网 编辑:ziteng
由于Access数据库记录集缓存的原因,从代码里得到Access数据库随机记录是得不到,需要用随机SQL语句的办法来消除缓存。
下面就是例子:
查看例子http://dotnet.aspx.cc/Exam/GetRandom.aspx
<%@PageLanguage=”C#”Debug=”true”%>
<%@importNamespace=”System.Data”%>
<%@importNamespace=”System.Data.OleDb”%>
<title>随机得到Access数据库记录</title>
<scriptrunat=”server”>
voidPage_Load(Objectsrc,EventArgse)
{
if(!IsPostBack)
{
stringMyConnString=“Provider=Microsoft.Jet.OleDB.4.0;DataSource=”
+Server.MapPath(”aspxWeb.mdb.ascx”);
RandomR=newRandom();
intintRandomNumber=R.Next(1,1000);
stringsql=“selecttop10idAs序号,TitleAs标题fromDocumentOrderByRnd(”
+(-1*intRandomNumber).ToString()+“*id)”;
OleDbConnectionMyConnection=newOleDbConnection(MyConnString);
MyConnection.Open();
OleDbCommandcmd=newOleDbCommand(sql,MyConnection);
OleDbDataReaderdr=cmd.ExecuteReader();
DataGrid1.DataSource=dr;
DataGrid1.DataBind();
cmd.Dispose();
MyConnection.Close();
MyConnection.Dispose();
MyConnection=null;
}
}
</script>
<formrunat=server>
<asp:DataGridid=”DataGrid1″HorizontalAlign=”Center”
Width=”600px”runat=”server”Font-Size=”9pt”>
<AlternatingItemStyleBackColor=”#EEEEEE”></AlternatingItemStyle>
<HeaderStyleBackColor=”#AAAADD”Font-Bold=”True”HorizontalAlign=”Center”/>
</asp:DataGrid>
</form>