Avatar billede mnordby Nybegynder
14. november 2001 - 11:00 Der er 14 kommentarer og
1 løsning

ASP problem

Hej..

Jeg har et lille problem med nedenstående ASP script, som jeg håber der er nogen der kan hjælpe mig med.

Scriptet skal ud fra et linkid hente billeder fra en database i en tabel der hedder \"billed\".
Det virker også, men hvis der ikke er skrevet noget i tabellen \"billed\", skriver den ikke at der ikke er nogle billeder i databasen!

Håber der er en kløgtig sjæl der kan hjælpe mig!

<% Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database.mdb\")
strSQL = \"select * from links WHERE linkid=\"&Request(\"linkid\")

set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"Ingen billeder i databasen.\"
else
Do Until rs.EOF %>

<img src=\"grafik/<%= rs(\"billed\") %>\">

<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:05 #1
Du skal tjekke om databasen indeholder nogen billeder på en anden måde:

http://www.activeserverpages.dk/aspdigital/kapitel2/emptyrecordset.asp
Avatar billede cool_casper Nybegynder
14. november 2001 - 11:06 #2
HUH!!!!  Jeg tror ikk jeg forstår dit problem. \"men hvis der ikke er skrevet noget i tabellen \"billed\", skriver den ikke at der ikke er nogle billeder i databasen!\" !?!??!?!??!?

Avatar billede mnordby Nybegynder
14. november 2001 - 11:10 #3
Korrekt. Hvis der ikke er skrevet noget i feltet \"billed\" skal scriptet skrive - Der er ikke nogle billeder i databasen.
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:13 #4
<% Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database.mdb\")
strSQL = \"select * from links WHERE linkid=\"&Request(\"linkid\")

set rs = Conn.execute(strSQL)

If (rs.BOF AND rs.EOF) Then \'Dette er den eneste ændring
Response.write \"Ingen billeder i databasen.\"
else
Do Until rs.EOF %>

<img src=\"grafik/<%= rs(\"billed\") %>\">

<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
Avatar billede mnordby Nybegynder
14. november 2001 - 11:18 #5
Ændrer desværre ikke noget! Hvad nu hvis jeg den skal skrive det når \"linkid\" = 0 ?
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:34 #6
Prøv

If rs.Count = 0 Then

istedet for

If (rs.BOF AND rs.EOF) Then
Avatar billede mnordby Nybegynder
14. november 2001 - 11:42 #7
Det fortsår ikke udtrykket \"count\"!
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:47 #8
RecordCount
Avatar billede mnordby Nybegynder
14. november 2001 - 11:51 #9
If rs.Recordcount = 0 Then - virker ikke.

If Recordcount = 0 - Så skriver den \"ingen billeder i databasen\" alle steder. Også de steder hvor der er billeder.
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:55 #10
Okay, jeg tror jeg har mistforstået dig helt .. Du vil ikke vide om tabellen er tom, men om  feltet billed er tomt .. right??

Så skriver du bare:

<% Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database.mdb\")
strSQL = \"select * from links WHERE linkid=\"&Request(\"linkid\")

set rs = Conn.execute(strSQL)

If (rs.BOF AND rs.EOF) Then
Response.write \"Ingen billeder i databasen.\"
else
Do Until rs.EOF
If Not rs(\"billed\") = \"\" Then
\' el det her hvis det ikke virkerIf Not IsEmpty(rs(\"billed\")) Then
%>

<img src=\"grafik/<%= rs(\"billed\") %>\">

<%
End if
RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%> 
Avatar billede mnordby Nybegynder
14. november 2001 - 12:05 #11
Right!
Det virker næsten. Den skriver bare ikke \"ingen billeder i databasen\" de steder hvor der ikke er billeder!
Avatar billede torbenmelander Nybegynder
14. november 2001 - 12:36 #12
Nej, selvfølgelig:

<% Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database.mdb\")
strSQL = \"select * from links WHERE linkid=\"&Request(\"linkid\")

set rs = Conn.execute(strSQL)

If (rs.BOF AND rs.EOF) Then
Response.write \"Ingen billeder i databasen.\"
else
Do Until rs.EOF
If Not rs(\"billed\") = \"\" Then
\' el det her hvis det ikke virkerIf Not IsEmpty(rs(\"billed\")) Then
%>

<img src=\"grafik/<%= rs(\"billed\") %>\">

<%
Else
  Response.write \"Ingen billeder i databasen.\"
End if
RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%> 

Avatar billede torbenmelander Nybegynder
14. november 2001 - 13:42 #13
Kan det bruges ???
Avatar billede mnordby Nybegynder
14. november 2001 - 14:35 #14
Det virker nu! Tak for hjælpen!
Avatar billede torbenmelander Nybegynder
14. november 2001 - 14:44 #15
Tak for pointne ;-)
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