Asp Codes
ActiveX
ADO
Array
Code Snippets
Components
Data Access
Date Time
Files
Graphics
HTML Formatting
Mathematics
Miscellaneous
Sessions
SQL
Strings
Techniques
XML
Asp > SQL sample source codes
SQL Random Line
SQL Random Line Function SQLRandomLines(proc, params, fname, count) Dim i, j, k, rid, rs, result, records, reccount, normalized On Error Resume Next PushError SQLRandomLines = Null Set rs = iOpen(proc, params) If CheckPopError Then Exit Function End If If rs.EOF Then rs.Close Set rs = Nothing Exit Function End If records = rs.GetRows(adGetRowsRest) If CheckPopError Then Exit Function End If rid = -1 For i = 0 To rs.Fields.Count - 1 If (rs.Fields(i).Name = fname) Then rid = i End If Next If (rid < 0) Or (rid > rs.Fields.Count - 1) Then rid = -1 End If rs.Close Set rs = Nothing If (rid = -1) Then Exit Function End If reccount = UBound(records, 2) - LBound(records, 2) + 1 If (reccount >= count) Then normalized = RandomArray(count, LBound(records, 2), UBound(records, 2)) For i = LBound(normalized) To UBound(normalized) normalized(i) = records(rid, normalized(i)) Next Else normalized = RandomArray(reccount, LBound(records, 2), UBound(records, 2)) For i = LBound(normalized) To UBound(normalized) normalized(i) = records(rid, normalized(i)) Next End If ReDim result(UBound(records, 1), UBound(normalized)) For k = LBound(records, 2) To UBound(records, 2) For i = LBound(normalized) To UBound(normalized) If (CStr(records(rid, k)) = CStr(normalized(i))) Then For j = LBound(records, 1) To UBound(records, 1) If (TypeName(records(j, k)) = "String") Then result(j, i) = VarTrimStr(records(j, k)) Else result(j, i) = records(j, k) End If Next End If Next Next SQLRandomLines = result End Function
Privacy Policy
|
Link to Us
|
Links