if rs.bof or rs.eof then ' check om der overhovedet er nogen poster, med de valgte kriterier ' der er ikke nogen poster i databasen: response.write "Der er ikke nogen poster i databasen, med de valgte kriterier." else ' yep.. der er poster.. do while not rs.eof ' kør en loop, så længe at der er poster.. sNavn = sNavn & rs("Navn") & "¤" ' tilføj navnet til strengen sNavn, og tilføj "¤" rs.movenext ' gå til næste post loop ' gentag afviklingen af koden end if
sNavn = split(sNavn, "¤") ' split strengen op ved "¤" og omdan strengen til en array
Egentligt betyder både rs.bof or rs.eof at der ikke er poster.. men det er alligevel 2 forskellige ting..
Så har jeg igen fået tid til at kigge på det. Først prøvede jeg at gå videre med : cpufan 03/11-2006 22:30:57
Men da det ikke gav noget positivt resultat, forsøgte jeg med: thesurfer 03/11-2006 01:34:43
Hvilket virkede fuldstændigt efter hensigten. Hvis nogen skulle kunne få nytte af det, så endte min færdige kode med at se sådan her ud: ___________________________________________________________ 'Hent fra databasen afhængig af værdien id fra URL strSQL = "Select * from tabel1 order by id;" Set rs = Conn.Execute(strSQL)
if rs.bof or rs.eof then 'tjekker om der overhovedet er nogen poster response.write "Der er ikke nogen poster i databasen, med de valgte kriterier." else ' yep.. der er poster.. do while not rs.eof ' kør en loop, så længe at der er poster.. sNavn = sNavn & rs("Navn") & "," ' tilføj navnet til strengen sNavn, og tilføj "¤" rs.movenext ' gå til næste post loop ' gentag afviklingen af koden end if
sNavn = split(sNavn, ",")
Dim arrLen 'Finder længden af sNavn arrLen = Ubound(sNavn)
Dim t t = 0 Do Until t = arrLen response.write("" & sNavn(t) & "<br>") t = t + 1 Loop ' Luk databaseforbindelse Conn.Close Set Conn = Nothing
Hvis du vil optimere/forbedre koden lidt, kunne du gøre sådan her:
___________________________________________________________ 'Hent fra databasen afhængig af værdien id fra URL strSQL = "Select * from tabel1 order by id;" Set rs = Conn.Execute(strSQL)
if rs.bof or rs.eof then 'tjekker om der overhovedet er nogen poster response.write "Der er ikke nogen poster i databasen, med de valgte kriterier." else ' yep.. der er poster.. do while not rs.eof ' kør en loop, så længe at der er poster.. sNavn = sNavn & rs("Navn") & "," ' tilføj navnet til strengen sNavn, og tilføj "¤" rs.movenext ' gå til næste post loop ' gentag afviklingen af koden end if
' lukker forbindelsen til databasen, da der ikke længere er brug for den: set rs = nothing Conn.Close Set Conn = Nothing
sNavn = split(sNavn, ",")
dim i for i = 0 to ubound(sNavn) response.write sNavn(i) & "<br>" next
Jeg husker ikke lige hvad der er hurtigst eller mindst ressource-krævende, FOR-NEXT eller DO-LOOP..
Normalt bruger jeg DO-LOOP til recordset og FOR-NEXT til alt andet..
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.