asp下sql和access數(shù)據(jù)庫隨機(jī)取10條記錄的代碼newid()
更新時(shí)間:2007年12月19日 23:13:09 作者:
利于搜索從表中隨機(jī)取幾條不重復(fù)記錄,一般都是10條,我就用了40條,大約的代碼就是下面的了
MSSQL:select top 10 * from [table] order by newid()
ACCESS:
'以利用rs.move嘛
'如隨機(jī)取10條
n = 10
'先要判斷總記錄數(shù)是否少于10,若小于10,則有多少取多少 if n>10 rs.recordCount then n=rs.recordCount
dim ranNum
for i = 1 to n
Randomize()
ranNum = int(rs.recordCount*rnd)+1 '產(chǎn)生一個(gè)隨機(jī)數(shù)
rs.Move ranNum '移動(dòng)游標(biāo)到隨機(jī)數(shù)位置
response.write i & "-" & rs("title") & "<br />" '輸出內(nèi)容
rs.Move -ranNum
next
'……
這樣就可以了,當(dāng)然這樣有可能會取到重復(fù)的記錄,那么把產(chǎn)生隨機(jī)數(shù)那句改下就可以了,聲明一個(gè)變量來存放已經(jīng)產(chǎn)生過的隨機(jī)數(shù),在產(chǎn)生新的隨機(jī)時(shí)先判斷是否已經(jīng)產(chǎn)生過,若產(chǎn)生過則重新生成就是了,這個(gè)就比較簡單了,用instr等就可以搞定了~~
思路是這樣,其它自己動(dòng)手試試吧。 不重復(fù)讀取還有個(gè)辦法就是只產(chǎn)生一個(gè)隨機(jī)數(shù),然后挨著讀取這個(gè)隨機(jī)數(shù)后面的N條記錄。當(dāng)然也要寫好判斷,隨機(jī)數(shù)要小于總記錄數(shù)-要讀取記錄數(shù)量。
'……
dim n,ranNum
n = 10
Randomize()
ranNum = rs.recordCount-n
if ranNum<1 then ranNum=1
ranNum = int(ranNum*rnd)+1
rs.Move ranNum
for i=1 to 10
response.write i & "-" & rs("title") & "<br />" '輸出內(nèi)容
rs.MoveNext '挨著向下讀取
next
'……
建議自己寫個(gè)簡單的Function來產(chǎn)生和判斷不重復(fù)隨機(jī)數(shù)。
ACCESS:
復(fù)制代碼 代碼如下:
'以利用rs.move嘛
'如隨機(jī)取10條
n = 10
'先要判斷總記錄數(shù)是否少于10,若小于10,則有多少取多少 if n>10 rs.recordCount then n=rs.recordCount
dim ranNum
for i = 1 to n
Randomize()
ranNum = int(rs.recordCount*rnd)+1 '產(chǎn)生一個(gè)隨機(jī)數(shù)
rs.Move ranNum '移動(dòng)游標(biāo)到隨機(jī)數(shù)位置
response.write i & "-" & rs("title") & "<br />" '輸出內(nèi)容
rs.Move -ranNum
next
'……
思路是這樣,其它自己動(dòng)手試試吧。 不重復(fù)讀取還有個(gè)辦法就是只產(chǎn)生一個(gè)隨機(jī)數(shù),然后挨著讀取這個(gè)隨機(jī)數(shù)后面的N條記錄。當(dāng)然也要寫好判斷,隨機(jī)數(shù)要小于總記錄數(shù)-要讀取記錄數(shù)量。
復(fù)制代碼 代碼如下:
'……
dim n,ranNum
n = 10
Randomize()
ranNum = rs.recordCount-n
if ranNum<1 then ranNum=1
ranNum = int(ranNum*rnd)+1
rs.Move ranNum
for i=1 to 10
response.write i & "-" & rs("title") & "<br />" '輸出內(nèi)容
rs.MoveNext '挨著向下讀取
next
'……
相關(guān)文章
關(guān)于處理GET方式提交的含有特殊字符的參數(shù)
關(guān)于處理GET方式提交的含有特殊字符的參數(shù)...2006-08-08IIS7.5調(diào)用asp頁面出現(xiàn)800a0e7a的解決辦法
本文給大家分享的是在windows2008R2 64位系統(tǒng)中出現(xiàn)了ADODB.Connection 錯(cuò)誤 '800a0e7a'的解決辦法,方法很簡單,可是處理過程卻很曲折,這里推薦給大家,有需要的小伙伴可以參考下。2015-05-05解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁的問題
這篇文章主要介紹了ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁的問題的解決方法,感興趣的小伙伴們可以參考一下2015-10-10