SQL Server和Access分别可取得随机记录
日期:2007年7月14日 作者: 查看:[大字体 中字体 小字体]-
此段代码无论是速度、均衡性,还是随机度都非常好,也不会出现抽到重复记录的可能。
一、在SQL Server2000中生成随机记录的最好办法:
withtk_querydo begin Close; sql.clear; sql.Add('selecttop'+inttostr (st_count)+'tk.ID,标准答案from题库表tk'); sql.Add('wherepidisnullandtk.题型= '+quotedstr(tx)+'andtk.知识点='+quotedstr(zsd)); sql.add('andtk.难易度='+quotedstr(nyd)+ 'andtk.课程号='+quotedstr(kcdm)+'orderbynewid()'); Open; end; 注:关键就是orderbynewid()这条语句,随机因子就是从这里产生。
二、数据库为Access2000时生成随机记录的最好办法:
由于Access中没有newid()这一随机函数,故要想在Access中直接由SQL语句生成我们所希望的随机记录不太可能,因此我们只好在开发语言中生成合适SQL语句,让Access执行了。
//获取题库表中的随机ID,组成一个字符串,类似这样(3,8,2,25,49,1,7,10,6,83....)
//kcdm:课程代码,tx:题型,zsd:知识点,nyd:难易度,t_count:某一题型某一知识点某一难度下的要抽取的题量
functionTTest_Srv_RDataForm.Get_Random_ID (constkcdm,tx,zsd,nyd,t_count:string):string; var sl:TStrings; i,ii,kk:integer; begin try Result:=''; sl:=TStringList.Create; withTADOQuery.Create(nil)do begin try Connection:=Adoconnection1; SQL.Text:='selectIDfrom题库表 wherepidisnulland题型='+quotedstr(tx)+ 'and知识点='+quotedstr(zsd)+'and难易度='+quotedstr(nyd)+ 'and课程号='+quotedstr(Kcdm); Open; whilenotEofdo begin sl.Add(Fields[0].AsString); Next; end; Close; finally Free; end; end;//endwith.... ifsl.Count=0then Exit; fori:=0toStrToIntDef(t_count,0)-1do begin kk:=sl.Count;//随机因子 Randomize; ii:=Random(kk);//取得随机数 ifResult=''then Result:=sl.Strings[ii] else Result:=Result+','+sl.Strings[ii]; sl.Delete(ii); //为了避免有可能出现的重复,此ID被抽取过后把它删了 ifsl.Count=0then //如果无题可抽了退出循环 Break; end; Result:='('+Result+')'; //给结果串前后加上(......),最终形成(24,36,5,89,72,3,6,1....)的串样 finally sl.Free; - [1] [2] 下一页
- SQL Server和Access分别可取得随机记录 相关文章:
- ·随时更新QQ滔滔的技巧
- ·变身聊天达人 MSN文字随意个性换
- ·巧用宏随意提取Excel单元格的批注内容
- ·Flash制作跟随鼠标扇形旋转文字视觉特效
- ·微软紧随Google加入地理标准组织
- ·随温度光线变化的热敏墙纸与光敏日历
- ·狠招 全面禁止瑞星2008随机启动
- ·随机木马盗取QQ密码下载大量病毒
- ·不能随意拖好友 腾讯QQ群管理升级
- ·AUTO病毒可随U盘传播并下载木马
- SQL Server和Access分别可取得随机记录 相关软件
- ·权谋巨著《随波逐流之一代军师》
- ·画禅室随笔
- ·缘缘堂随笔
- ·随园诗话
- ·随想录
- ·家教文化随笔
- ·历史的先见—罗家伦文化随笔选
- ·保护环境随手可做的100件小事
- ·饮食·文化·随笔
- ·时间风暴随笔
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·安全的Microsoft的ACCESS数据库加密方法
- ·Access使用查询--1.1. 用选择查询建立计算字段
- ·用SQL链接服务器访问远程Access数据库
- ·用ASP和SQL语句动态的创建Access表
- ·Access数据库的存储上限指标
- ·Access使用查询--1.2.用选择查询进行分组数据的计算
- ·几种修复ACCESS数据库的实用方法
- ·如何把Access转成SQL Server的方法介绍
- ·网站选SQL Server还是Access当后台数据库好?
- ·把Access转成SQL数据库的方法介绍
- ·如何优化MICROSOFT ACCESS提高速度
- ·揭开Microsoft Access秘密技巧以及陷阱
- ·在access中增加农历支持模块
- ·使用准则进行条件查询
- ·Access使用宏控制程序 4.常用的宏操作
- ·保护Access 2000数据库的安全
- ·掌握部署 Access项目的方法
- ·设置在 Access项目中检索的记录数
- ·以前流行的4种Access数据库安全方式
- ·数据库安全 关于Access数据库4种安全方式
特别推荐
