Avatar billede jelle Nybegynder
05. marts 2003 - 16:05 Der 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


håber i kan hjælpe med at løse dette problem!
Avatar billede mortvader Nybegynder
05. marts 2003 - 16:09 #1
tyder på at rs eller rss ikke er instansieret som et recordset?
Avatar billede jelle Nybegynder
05. marts 2003 - 16:11 #2
den skal jeg lige have på almindelig dansk, og helst en løsning på problemet
Avatar billede mortvader Nybegynder
05. marts 2003 - 16:12 #3
hvilken linie kommer fejlen på?
Avatar billede jelle Nybegynder
05. marts 2003 - 16:14 #4
hov undskyld, det er linien: if rs.eof = TRUE then strRSSlut = TRUE else rs.movenext
Avatar billede mortvader Nybegynder
05. marts 2003 - 16:16 #5
rs er ikke et recordset. Jeg kan ikke give dig en komplet løsning på problemet uden hele dit script.
Avatar billede jelle Nybegynder
05. marts 2003 - 16:18 #6
det får du lige det er ikke så langt:

<%
sAlphabet = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,x,y,z,æ,ø,å"
bogstav = Split(sAlphabet,",")
strtaeller = 0

response.write "<TABLE width='100%'>"
response.write "<tr>"
response.write "<td>Efterskolenavn</tp><tp>Efterskolenavn</tp>"


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

loop while not strSlut = TRUE

strRSSlut = FALSE
strRSSSlut = FALSE
strSlut = FALSE
next
%>
Avatar billede mortvader Nybegynder
05. marts 2003 - 16:23 #7
<%
sAlphabet = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,x,y,z,æ,ø,å"
bogstav = Split(sAlphabet,",")
strtaeller = 0

response.write "<TABLE width='100%'>"
response.write "<tr>"
response.write "<td>Efterskolenavn</tp><tp>Efterskolenavn</tp>"


strDSN="<DSNsti til din database her>"

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

%>
Avatar billede jelle Nybegynder
05. marts 2003 - 16:34 #8
hele stykket med:

strDSN="<DSNsti til din database her>"

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

og

rs.close
rss.close
conn.close
set rs=nothing
set rss=nothing
set conn=nothing

er includeret i den side, som den stump kode er inkluderet i...
Avatar billede jelle Nybegynder
05. marts 2003 - 16:35 #9
jeg fatter det nemli ikke, for jeg kan godt udskrive data fra rs og rss, men rs.eof virker ikke :(
Avatar billede cpufan Juniormester
05. marts 2003 - 16:52 #10
Er det mig der er dum eller...........

skal <tp> ikke være <td> ?
Avatar billede jelle Nybegynder
05. marts 2003 - 16:53 #11
jow det har du ret i...
Avatar billede hossein Nybegynder
05. marts 2003 - 16:56 #12
er du sikker på at dine IF sætninger er rigtige?
  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
Avatar billede hossein Nybegynder
05. marts 2003 - 17:01 #13
Jeg mener:
If betingelse then
        do this
end if

If betingelse then
      do this
else
      do that
end if
Avatar billede jelle Nybegynder
05. marts 2003 - 17:02 #14
hossein --> det forstod jeg ikke...
Avatar billede jelle Nybegynder
05. marts 2003 - 17:21 #15
hossein --> nej de er rigtige...

jeg får udskrevet den første record med a og den første med b, men så sker der heller ikke mere...
Avatar billede hossein Nybegynder
05. marts 2003 - 17:32 #16
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")
Avatar billede jelle Nybegynder
05. marts 2003 - 18:06 #17
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?
Avatar billede jelle Nybegynder
05. marts 2003 - 18:08 #18
ellers kunne man vel smide det hele ind i et array, er der nogen der kan komme med en stump kode til det?
Avatar billede hossein Nybegynder
05. marts 2003 - 18:13 #19
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 >>  ??
Avatar billede jelle Nybegynder
05. marts 2003 - 18:22 #20
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...
Avatar billede hossein Nybegynder
05. marts 2003 - 18:35 #21
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
Avatar billede jelle Nybegynder
10. marts 2003 - 10:51 #23
jeg har fundet fejlen: den lå i den linie der hed:
rs = conn.execute(SQL) den skulle have heddet SET rs = conn.execute(SQL)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

Platform Engineer hos PET

Politiets Efterretningstjeneste

Data engineer til PET

Politiets Efterretningstjeneste

IT Sikkerhedsarkitekt i PET