28. december 2007 - 16:39Der er
5 kommentarer og 1 løsning
EOF or BOF
Hey derude... Endnu et lille problem, som jeg håber i derude kan afhjælpe mig med. Først og fremmest hvad står det egntlig for det der EOF og BOF, jeg ved at man jo bruger det når man laver noget med loop. Men desværre er det bare noget jeg skrive automatisk uden at vide hvorfor <-- det vil jeg gerne lave om på!
Jeg har dette simple udtræk i første omgang uden noget EOF / BOF men hvis jeg nu skriver: Do while not EOF or BOF henter den indhold med stadig kommer der en fejl kode...
*script* <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/fpdb/bjrigging.mdb") Conn.Open DSN SQL = "select * from links order by id desc" Set rs = Conn.Execute(SQL) Do response.write "<p style='margin-left: 1px; margin-right:1px' align='justify'><i>af "&rs("web")&"</i></p>" response.write "<p style='margin-left: 1px; margin-right:1px' align='justify'><font style='text-transform: uppercase' color='#f5ca64'><span style='font-size:25px'><b>slet</b></span></font></p>" rs.movenext loop rs.Close Set rs = Nothing %>
Bare fordi du checker om der er noget i den aktuelle række af resultatet, betyder det ikke nødvendigvis at du ikke kan få fejl. Hvis du f.eks. prøver at referere et felt i resultatet som ikke findes, får du også en fejl (bare for at nævne en af mange muligheder). Derfor er du nok nød til at være mere specifik angående hvilken fejl du oplever.
Det er ikke nødvendigt at checke for BOF i "firehose"-resulteter (dvs. resultater hvor man benytter en forwardonly cursor, dem som bla. leveres af Connection.Execute). I disse tilfælde kan man bare nøjes med at checke for EOF. Jeg vil vove den påstand, at check på BOF kun er nødvendigt i 0,01 promille af de databasescenarier du vil have på et website. Typisk er det stærkt frarådeligt at bruge mere avancerede cursortyper på en webserver, da denne form for databasemanipulation er dyr i resurser og derfor bør undgås. Når man alligevel bruger dem (f.eks. til paging), så vil man alligevel typisk kun flytte fremad i resultatet og derfor stadig ikke have brug for BOF.
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.