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>
<스크립트 runat="서버">
무효 Page_Load(Object src,EventArgs e)
{
if(!IsPostBack)
{
string MyConnString = "공급자=Microsoft.Jet.OleDB.4.0;데이터 소스="
+ Server.MapPath("aspxWeb.mdb.ascx");
랜덤 R = 새로운 랜덤();
int intRandomNumber = R.Next(1,1000);
string sql = "일련번호로 상위 10개의 ID를 선택하고, 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 = 박사;
DataGrid1.DataBind();
cmd.Dispose();
MyConnection.Close();
MyConnection.Dispose();
MyConnection = null;
}
}
</script>
<형식 runat=서버>
<asp:DataGrid id="DataGrid1" 수평정렬="중앙"
너비="600px" runat="서버" Font-Size="9pt">
<AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
<HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center" />
</asp:데이터 그리드>
</form>