asp下实现记录集内随机取记录的代码


  本文标签:asp,记录集,随机,取记录

记录集内随机取记录的代码

<% 
 Moving to random record - Steven Jones Extension
If Not(记录集名称.bof and 记录集名称.eof) Then
 reset the cursor to the beginning
If (记录集名称.CursorType > 0) Then
记录集名称.MoveFirst
Else
记录集名称.Requery
End If

记录集名称_totalrn = -1
记录集名称_totalrn = 记录集名称.RecordCount  ony works on some recordsets, but much faster
If (记录集名称_totalrn = -1) Then  and if it didnt work, we still have to count the records.

 count the total records by iterating through the recordset
记录集名称_totalrn=0
While (Not 记录集名称.EOF)
记录集名称_totalrn = 记录集名称_totalrn + 1
记录集名称.MoveNext
Wend

 reset the cursor to the beginning
If (记录集名称.CursorType > 0) Then
记录集名称.MoveFirst
Else
记录集名称.Requery
End If

End If

 now do final adjustments, and move to the random record 
记录集名称_totalrn = 记录集名称_totalrn - 1
If 记录集名称_totalrn > 0 Then
Randomize
记录集名称.Move Int((记录集名称_totalrn + 1) * Rnd)
End If 
End If
 all done; you should always check for an empty recordset before displaying data
%>