20. januar 2003 - 08:03Der er
9 kommentarer og 1 løsning
Hvis rs er tom ??
Jeg har dette som skriver 3 records ud random, problemet er bare at hvis der ikke er 3 records at skrive ud ja så går scriptet kold.
<% end sub
set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 3 ' adUseClient rs.CursorType = 3 ' adOpenStatic rs.Open "SELECT * FROM tilbudVare where priotet='A';", Connect, , , &H0001 ' adCmdText
if not rs.EOF or rs.BOF then randomize P1 = int(rs.RecordCount * rnd) rs.Move(P1) color=1 VisInfo ' Næste rs.MoveFirst do P2 = int(rs.RecordCount * rnd) loop until (P1 <> P2) rs.Move(P2) color=2 VisInfo ' Næste rs.MoveFirst do P3 = int(rs.RecordCount * rnd) loop until (P3 <> P2) and (P3 <> P1) rs.Move(P3) color=3 VisInfo end if %>
kan du ikke starte med at teste om rs er forskellig fra tom. if rs <> "" Then ...... ..... ... Else ...... ..... ... Her vil du så nok ikke lave noget!! End If
eller du kan lave den omvendt af det skelton skriver if rs = "" Then HER skriver du hvad der skal ske hvis rs er tom Else Her indsætter du din nuværende kode End If
Grunden til det er at du vil havde 3 forsklellige records og hvis der ikke er 3 record så vil du ende i et uendeligt loop ved denne linie:
loop until (P3 <> P2) and (P3 <> P1)
Så der skal tjekkes for om der er flere end 3 records før du udføre det script som finde de 3..
Hvis der er mindre end 3 records skal de så vises i random række følge?? Det vil kun være et spørgsmål hvis der er 2 record skal de så vises ranmdom eller er det Ok de altid vises i samme række følge?
if (not rs.EOF or rs.BOF) and rs.RecordCount >= 3 then randomize P1 = int(rs.RecordCount * rnd) rs.Move(P1) color=1 VisInfo ' Næste rs.MoveFirst do P2 = int(rs.RecordCount * rnd) loop until (P1 <> P2) rs.Move(P2) color=2 VisInfo ' Næste rs.MoveFirst do P3 = int(rs.RecordCount * rnd) loop until (P3 <> P2) and (P3 <> P1) rs.Move(P3) color=3 VisInfo else 'Enten tom recordset eller mindre end 3 records do while not rs.EOF VisInfo rs.Movenext loop end if %>
eagleeye >> Det virker 99.99% hvis der kun er eks. 2 records så kan jeg ikke få fat på variablen color men er der 3 eller flere er det ikke et problem.
Genialt eagleeye >> Hvem der havde øjne som dig *LOL* Tak for hjælpen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.