05. marts 2003 - 16:05Der er
22 kommentarer og 1 løsning
Hvorfor virker det her ikke?
Hej når jeg køre følgende kode:
---klip---
do if strRSSlut = TRUE then response.write "<tp></tp>" else response.write "<tp>" & rs("navn") & "</tp>" if strRSSSlut = TRUE then response.write "<tp></tp>" else response.write "<tp>" & rss("navn") & "</tp>"
if rs.eof = TRUE then strRSSlut = TRUE else rs.movenext if rss.eof = TRUE then strRSSSlut = TRUE else rss.movenext
if strRSSlut and strRSSSlut = TRUE then strSlut = TRUE
loop while not strSlut = TRUE
---klip---
så får jeg denne fejl: Der opstod en Microsoft VBScript-kørselsfejl (0x800A01B6) Objektet understøtter ikke denne egenskab eller metode: 'EOF' /offentlige/efterskole.asp, line 24
for i = 0 to 27 strSQL = "SELECT * FROM efterskoler WHERE LEFT(navn,1) = '" & bogstav(strTaeller) & "' ORDER BY navn ASC" rs = conn.execute(strSQL) strTaeller = strTaeller + 1
strSQL = "SELECT * FROM efterskoler WHERE LEFT(navn,1) = '" & bogstav(strTaeller) & "' ORDER BY navn ASC" rss = conn.execute(strSQL) strTaeller = strTaeller + 1
do if strRSSlut = TRUE then response.write "<tp></tp>" else response.write "<tp>" & rs("navn") & "</tp>" if strRSSSlut = TRUE then response.write "<tp></tp>" else response.write "<tp>" & rss("navn") & "</tp>"
if rs.eof = TRUE then strRSSlut = TRUE else rs.movenext if rss.eof = TRUE then strRSSSlut = TRUE else rss.movenext
if strRSSlut and strRSSSlut = TRUE then strSlut = TRUE
Set conn = Server.CreateObject("ADODB.Connection") conn.open strDSN Set rs = Server.CreateObject("ADODB.Connection") Set rss = Server.CreateObject("ADODB.Connection") rs.activeconnection=conn rss.activeconnection=conn
for i = 0 to 27 strSQL = "SELECT * FROM efterskoler WHERE LEFT(navn,1) = '" & bogstav(strTaeller) & "' ORDER BY navn ASC" rs.open strSQL strTaeller = strTaeller + 1
strSQL = "SELECT * FROM efterskoler WHERE LEFT(navn,1) = '" & bogstav(strTaeller) & "' ORDER BY navn ASC" rss.open strSQL strTaeller = strTaeller + 1
do if strRSSlut then response.write "<tp></tp>" else response.write "<tp>" & rs("navn") & "</tp>" if strRSSSlut then response.write "<tp></tp>" else response.write "<tp>" & rss("navn") & "</tp>"
if rs.eof then strRSSlut = TRUE else rs.movenext if rss.eof then strRSSSlut = TRUE else rss.movenext
if strRSSlut and strRSSSlut then strSlut = TRUE
loop while not strSlut
strRSSlut = FALSE strRSSSlut = FALSE strSlut = FALSE next
rs.close rss.close conn.close set rs=nothing set rss=nothing set conn=nothing
en database forbindelse er nok, tilgængeld kan man lave 1 eller mange "Recordset", så brug/åben kun en af dem: Set conn = Server.CreateObject("ADODB.Connection") conn.open strDSN Set rs = Server.CreateObject("ADODB.Connection") Set rss = Server.CreateObject("ADODB.Connection")
men kan det overhovedet lade sig gøre at skrive if rs.EOF = true then? kan det gøres på en anden måde? Kan man ikke løbe rs igennem og tælle recordsne og lave en løkke ud fra det tal?
1- nej, men << If rs.eof then >> kan godt ladesig gøre 2- Jeg ved ikke helt præcis hvad forgår i din kodning. Men loop en recordset, luk den. Åben en anden recordset, luk den. Luk connection. 3- Forstod jeg ikke? Kan man ikke løbe rs igennem >> Ja, det kan man tælle recordsne >> Ja, det kan man du bruger fx rs.recordcount lave en løkke ud fra det tal >> ??
det er fordi jeg gerne vil lave en tabel, hvor der i første celle skal være alle efterskoler med a, i cellen ved siden af b, under af skal c så komme, under b skal d være osv. Men jeg prøver lig med recordcount, så kan jeg jo bare tælle hvor mange recordst der er, og så lave noget i stil med: for a = 0 to rs.recordcount, men problemet er jo at der ikke er lige mange record i rs og rss...
ok, du har brug for en array, også skal du have outpittet i koloner ved siden af hinanden, kig på disse besvarelser: http://www.eksperten.dk/spm/319546
jeg har fundet fejlen: den lå i den linie der hed: rs = conn.execute(SQL) den skulle have heddet SET rs = conn.execute(SQL)
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.