a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 117|回复: 0

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

[复制链接]
发表于 2012-7-31 22:26:35 | 显示全部楼层 |阅读模式
 由于Access数据库记录集缓存的原因,从代码里得到Access数据库随机记录是得不到,需要用随机SQL语句的办法来消除缓存。   下面就是例子:
# l- a/ b8 U! B1 @* Y  voidPage_Load(Objectsrc,EventArgse)' S' n- n4 e2 _3 P7 |# S6 O
  {
- @% i2 V. a: a) N  if(!IsPostBack), c7 j* d+ i/ j$ W
  {
5 i# |. Z/ g% U. @  stringMyConnString=“Provider=Microsoft.Jet.OleDB.4.0;DataSource=”
& }: x# i' _, L! }- @9 v, s  +Server.MapPath(”aspxWeb.mdb.ascx”);
$ I  q) Z6 X! n  {3 j  y0 o2 n  RandomR=newRandom();
1 x8 F) h: Z4 {  intintRandomNumber=R.Next(1,1000);
& h/ A5 C5 J  o- A! X, q5 M) c  stringsql=“selecttop10idAs序号,TitleAs标题fromDocumentOrderByRnd(”! G% z9 w6 ~5 I0 `; O
  +(-1*intRandomNumber).ToString()+“*id)”;3 v  \3 ?6 b. d7 l
  OleDbConnectionMyConnection=newOleDbConnection(MyConnString);* ?7 v( t0 F; G$ y! i0 ]% n+ X' H
  MyConnection.Open();6 m! H$ {+ ~( k. U
  OleDbCommandcmd=newOleDbCommand(sql,MyConnection);8 Z* _) X& y$ y& t
  OleDbDataReaderdr=cmd.ExecuteReader();' K) K) b, S* Y$ I3 x  S
  DataGrid1.DataSource=dr;) d" F& i, R8 t# f
  DataGrid1.DataBind();2 R+ q: Z, Z1 Z8 Y- X
  cmd.Dispose();
% W# k6 f( d2 r  MyConnection.Close();
* ]& S; z5 \" n: h& y- O7 s  MyConnection.Dispose();
' H; j% {# O4 R  a6 [# q  MyConnection=null;
2 [. X2 p) p8 A1 O  }
: k, J6 F" u( F, N4 o' |. x: \6 L  }
6 B: C) w) p1 H* {8 \, z    
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-7 23:15 , Processed in 0.575156 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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