精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長(zhǎng)網(wǎng)

MS SQL Server和Access分別取得隨機(jī)記錄

2023-3-16 16:46| 查看: 1630 |來(lái)源: 互聯(lián)網(wǎng)

這是博主用在一個(gè)項(xiàng)目上的源碼片斷,無(wú)論是速度、均衡性,還是隨機(jī)度都非常好,當(dāng)然這更不可能抽到重復(fù)記錄了。一、在MS SQL Server 2000中生成隨機(jī)記錄的最好辦 ...

這是博主用在一個(gè)項(xiàng)目上的源碼片斷,無(wú)論是速度、均衡性,還是隨機(jī)度都非常好,當(dāng)然這更不可能抽到重復(fù)記錄了。

一、在MS SQL Server 2000中生成隨機(jī)記錄的最好辦法:

with tk_query do

begin

Close;

sql.clear;

sql.Add('select top '+inttostr(st_count)+' tk.ID,標(biāo)準(zhǔn)答案 from 題庫(kù)表 tk');

sql.Add('where pid is null and tk.題型='+quotedstr(tx)+' and tk.知識(shí)點(diǎn)='+quotedstr(zsd));

sql.add('and tk.難易度='+quotedstr(nyd)+' and tk.課程號(hào)='+quotedstr(kcdm)+' order by newid()');

Open;

end;

注:關(guān)鍵就是 order by newid() 這條語(yǔ)句!隨機(jī)因子就是從這里產(chǎn)生的。

二、數(shù)據(jù)庫(kù)為Access2000時(shí)生成隨機(jī)記錄的最好辦法:

由于Access中沒(méi)有newid()這一隨機(jī)函數(shù),故要想在Access中直接由SQL語(yǔ)句生成我們所希望的隨機(jī)記錄不太可能,因此我們只好在開(kāi)發(fā)語(yǔ)言中生成合適SQL語(yǔ)句,讓Access執(zhí)行了(博主的開(kāi)發(fā)工具為Delphi)。

//獲取題庫(kù)表中的隨機(jī)ID,組成一個(gè)字符串,類似這樣 (3,8,2,25,49,1,7,10,6,83....)

//kcdm:課程代碼,tx:題型,zsd:知識(shí)點(diǎn),nyd:難易度,t_count:某一題型某一知識(shí)點(diǎn)某一難度下的要抽取的題量

function TTest_Srv_RDataForm.Get_Random_ID(const kcdm,tx,zsd,nyd,t_count:string):string;

var

sl: TStrings;

i,ii,kk: integer;

begin

try

Result := '';

sl := TStringList.Create;

with TADOQuery.Create(nil) do

begin

try

Connection := Adoconnection1;

SQL.Text := ' select ID from 題庫(kù)表 where pid is null and 題型='+quotedstr(tx)+

' and 知識(shí)點(diǎn)='+quotedstr(zsd)+' and 難易度='+quotedstr(nyd)+

' and 課程號(hào)='+quotedstr(Kcdm);

Open;

while not Eof do

begin

sl.Add(Fields[0].AsString);

Next;

end;

Close;

finally

Free;

end;

end; //end with ....

if sl.Count=0 then

Exit;

for i := 0 to StrToIntDef(t_count,0)-1 do

begin

kk := sl.Count;//隨機(jī)因子

Randomize;

ii := Random(kk); //取得隨機(jī)數(shù)

if Result='' then

Result := sl.Strings[ii]

else

Result := Result+','+sl.Strings[ii];

sl.Delete(ii); //為了避免有可能出現(xiàn)的重復(fù),此ID被抽取過(guò)后把它刪了

if sl.Count=0 then //如果無(wú)題可抽了退出循環(huán)

Break;

end;

Result := '('+Result+')'; //給結(jié)果串前后加上(......),最終形成(24,36,5,89,72,3,6,1....)的串樣

finally

sl.Free;

end;

end;

//=============================================== 課程號(hào),題型,知識(shí)點(diǎn),難易度,題量

function TTest_Srv_RDataForm.Get_Random_Sql(const kcdm,tx,zsd,nyd,t_count:string):string;

begin

Result := Get_Random_ID(kcdm,tx,zsd,nyd,t_count);

if Result <> '' then

Result := ' select top '+t_count+' tk.ID,標(biāo)準(zhǔn)答案 from 題庫(kù)表 tk where id in '+Result

else

Result := ' select top '+t_count+' tk.ID,標(biāo)準(zhǔn)答案 from 題庫(kù)表 tk where 1=1 ';

end;

//以下為調(diào)用上述函數(shù)生成隨機(jī)抽題的代碼片斷

.......

with tk_query do

begin

Close;

sql.Clear;

sql.Text := Get_Random_Sql(Kcdm,tx_str,zsd_str,nyd_str,txzsd_count_str);

Open;

end;

本文最后更新于 2023-3-16 16:46,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請(qǐng)?jiān)诰W(wǎng)站留言或聯(lián)系站長(zhǎng):17tui@17tui.com
·END·
站長(zhǎng)網(wǎng)微信號(hào):w17tui,關(guān)注站長(zhǎng)、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營(yíng)銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長(zhǎng)網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信

大家都在看

熱門(mén)排行

最近更新

返回頂部
主站蜘蛛池模板: 91射射射| 91污网站| 国产免费资源高清小视频在线观看 | 国外免费精品视频在线观看 | 毛片毛片毛片毛片出来毛片 | 91久久爱| 91刘亦菲精品福利在线 | 99久久国产综合精品网成人影院 | 高中生福利视频在线观看 | 网站一级片 | 午夜视频一区 | 免费毛片a线观看 | 黄色特级毛片 | 国产精品区网红主播在线观看 | 欧美在线一级毛片观看 | 久久久精品午夜免费不卡 | 香蕉tv亚洲专区在线观看 | 五月天婷婷激情网 | 欧美5g影院天天爽天天看 | 日韩精品中文字幕一区三区 | 国产一级一级一级成人毛片 | 免费视频成人国产精品网站 | 农村黄a三级三级三级 | 国产不卡一区二区视频免费 | 一区不卡视频 | 精品小视频| 久久免费精品一区二区 | 91久久精品国产一区二区 | 99久久er热在这里只有精品16 | 国产大陆精品另类xxxx | 久久久久久免费观看 | 国产日本欧美亚洲精品视 | 麻豆传媒网站入口直接进入免费版 | 亚洲黄色视屏 | 亚洲成在人线av | 亚洲精品国产免费 | 国产在线永久视频 | 日韩三级一区二区 | 黄片毛片免费在线观看 | 高清在线观看自拍视频 | 97色老99久久九九爱精品 |