a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 115|回复: 0

[Access] 如何随机得到Access数据库记录

[复制链接]
发表于 2012-7-31 22:26:35 | 显示全部楼层 |阅读模式
 由于Access数据库记录集缓存的原因,从代码里得到Access数据库随机记录是得不到,需要用随机SQL语句的办法来消除缓存。   下面就是例子:" ]2 p/ T! M3 i; @% y
  voidPage_Load(Objectsrc,EventArgse)# I. H" ]/ s2 H# z- J
  {  M$ v& B8 K8 [
  if(!IsPostBack)6 B& z( `+ u4 n' }  D: l
  {
/ n7 H* A& W8 }$ Q( T- B  stringMyConnString=“Provider=Microsoft.Jet.OleDB.4.0;DataSource=”. Z$ c2 z5 [" b( X4 b3 g
  +Server.MapPath(”aspxWeb.mdb.ascx”);
) M' p2 }. }6 J8 Z1 r. {  RandomR=newRandom();
. M- @! W7 s& J  intintRandomNumber=R.Next(1,1000);; N: h2 r9 J8 J# e; ]. z) Y
  stringsql=“selecttop10idAs序号,TitleAs标题fromDocumentOrderByRnd(”
; ?; f5 i5 ~4 R5 m5 s  +(-1*intRandomNumber).ToString()+“*id)”;$ D/ B& l; a9 f' O
  OleDbConnectionMyConnection=newOleDbConnection(MyConnString);& U+ J2 X  T( j' H+ ]
  MyConnection.Open();
9 {. q' [9 R2 @& S; ^" R" @  OleDbCommandcmd=newOleDbCommand(sql,MyConnection);5 X2 D* m( e( ~9 X. w/ e
  OleDbDataReaderdr=cmd.ExecuteReader();8 w, a& `2 x' }1 w% O8 F4 r# l3 {
  DataGrid1.DataSource=dr;
2 {: f$ k1 D/ O4 X, x' K7 D) C! ^  DataGrid1.DataBind();# `* j" c& M9 k7 _' l$ r
  cmd.Dispose();! G+ g( s6 G4 M) [" K0 \6 }
  MyConnection.Close();
. J9 V. \; c: d, P  Y$ R  MyConnection.Dispose();
9 L& l" J/ q9 Q8 h8 i' z2 k  MyConnection=null;  N, J) f/ j0 N4 I* c
  }
7 ]4 t0 R2 @7 _5 V' |, ]3 I  }
; m# @; a+ a& n( V; ^9 O3 |    
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-8 06:42 , Processed in 0.302068 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表