Avatar billede nythjem Nybegynder
14. juni 2004 - 13:43 Der er 6 kommentarer og
1 løsning

Hvis ingen felter i databasen skrives >Ingen poster..

Hej Alle..

Jeg har dette udemærket script fra html.dk, men jeg kan ikke lige helt greje, hvordan jeg laver en "Intet fundet i databasen" meddelelse..

Håber nogle kan hjælpe.. :)

<%
' Database forbindelse
Set Rs = Server.Createobject("ADODB.Connection")   
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("../../database/database.mdb")& ";"

' Hent data fra databasen
Set rsEntries = Rs.Execute("Select * from menuopsaetning where typen = '0' ORDER BY id")

Do
  ' Gem data som kommasepareret liste
  arrID = arrID & "," & rsEntries("ID")
  arrRE = arrRE & "," & rsEntries("RELA")
  arrSU = arrSU & "," & rsEntries("LINK")
  rsEntries.MoveNext
Loop while not rsEntries.eof

' Lav arrays med data
arrID = Split(arrID,",")
arrRE = Split(arrRE,",")
arrSU = Split(arrSU,",")

Rs.Close

' Funktion som undersøger for svar
Function Threads(intID)   
  For m = 1 to Ubound(arrID)
    ' Hvis svar til det indlæg som funktionen er kaldt med
    If Cint(arrRE(m)) = Cint(intID) Then
      ' Tilføj til liste og kald funktionen for at undersøge for svar
      Threads = Threads & "<ul><li><a href=""rediger-div.asp?red=001&ID=" & arrID(m) & """ class=""href"">" & arrSU(m) & Threads(arrID(m)) & "</a></li><br></ul>"   
    End If       
Next
End Function

' Kald funktionen med alle hovedindlæg

%>

<% Response.Write Threads(0) %>
Avatar billede fennec Nybegynder
14. juni 2004 - 13:46 #1
Set rsEntries = Rs.Execute("Select * from menuopsaetning where typen = '0' ORDER BY id")

if rsEntries.eof then
'intet fundet
else
...
...
end if
Avatar billede nythjem Nybegynder
14. juni 2004 - 14:08 #2
Hej Fennec..

Sådan her?

Set rsEntries = Rs.Execute("Select * from menuopsaetning where typen = '1' ORDER BY id")

if rsEntries.eof then
Response.Write "Intet fundet"
else
Do
  ' Gem data som kommasepareret liste
  arrID = arrID & "," & rsEntries("ID")
  arrRE = arrRE & "," & rsEntries("RELA")
  arrSU = arrSU & "," & rsEntries("LINK")
  rsEntries.MoveNext
Loop while not rsEntries.eof

' Lav arrays med data
arrID = Split(arrID,",")
arrRE = Split(arrRE,",")
arrSU = Split(arrSU,",")

Rs.Close
end if

' Funktion som undersøger for svar
Function Threads(intID)   
  For m = 1 to Ubound(arrID)
    ' Hvis svar til det indlæg som funktionen er kaldt med
    If Cint(arrRE(m)) = Cint(intID) Then
      ' Tilføj til liste og kald funktionen for at undersøge for svar
      Threads = Threads & "<ul><li><a href=""rediger-div.asp?red=001&ID=" & arrID(m) & " class=""href"">" & arrSU(m) & Threads(arrID(m)) & "</a></li><br></ul>"   
    End If       
Next
End Function
Avatar billede fennec Nybegynder
14. juni 2004 - 14:10 #3
Ja.
Det burde virke.
Avatar billede nythjem Nybegynder
14. juni 2004 - 14:28 #4
Det gør det desværre ikke..

Jeg får denne fejl.

# Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Ubound'

/admin/rediger.asp, line 218

I linien står dette..

For m = 1 to Ubound(arrID)
Avatar billede fennec Nybegynder
14. juni 2004 - 14:34 #5
Det er fordi de 3 array's ikke bliver oprettet. Du kalder sikkert din Threads() funktion et andet sted i koden, og den gør brug af disse array. Det vil måske virke hvis du opretter dem.

if rsEntries.eof then
  Response.Write "Intet fundet"
  arrID = Split("",",")
  arrRE = Split("",",")
  arrSU = Split("",",")
else
...
...
Avatar billede nythjem Nybegynder
14. juni 2004 - 14:44 #6
Det perfekt Fennec!

Tusind tak for hjælpen :)
Avatar billede fennec Nybegynder
14. juni 2004 - 14:46 #7
no prob :o)
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