Avatar billede shifu Nybegynder
09. november 2005 - 14:52 Der er 6 kommentarer og
1 løsning

Udtræk og vis billede fra database (access)

Jeg forsøger at udtrække data fra min access database. Jeg får alt tekst fint frem. Men nor jeg forsøger med at hente billeder får jeg fejl. Billedet er i databasen af OLE-objekt.

Jeg har lavet følgende:

--------------------------
<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/asp/database.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from mullemors"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

  ' Udskriv værdien af kolonnen Fornavn
  Response.Write rs("vare") & "<br>"
  Response.write rs("varebeskrivelse") & "<br>"
  Response.write rs("pris") & "<br>"
  Response.write rs("billede") & "<br>"
  ' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
---------------------

Jeg er ret ny i det her, så jeg ved faktisk ikke om det er en SQL fejl eller om det er forkerte parametre jeg bruger i ASP når jeg forsøger at hente billeder?

Jeg ved der findes en derude der har løsningen på mit problem {:o)
Avatar billede nythjem Nybegynder
10. november 2005 - 10:59 #1
Hej shifu.

Hvilken fejl giver Ole?

En ekstra ting:

Du skal huske at lukke alle dine connections.

Du laver følgende:

Set Conn
Set rs

Men du lukker kun Conn.

Du skal derfor huske at erstatte:

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

Med

' Luk databaseforbindelse
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
Avatar billede shifu Nybegynder
10. november 2005 - 11:59 #2
Jeg har forsøgt at at ændre OLE til et link til billedet.
Jeg har også ændret lidt i kildeteksten så nu ser den sådan ud:

<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/asp/database.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from mullemors"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

  ' Udskriv værdien af kolonnerne Vare beskrivelse pris billede
  Response.Write rs("vare") & "<br>"
  Response.write rs("varebeskrivelse") & "<br>"
  Response.write rs("pris") & "<br>"
  Response.write "<img src=>" & rs("billede") & "<br>"

  ' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
</body>
</html>

Nå får jeg ingen fejl ud over at jeg kun får en firkandt med et kryds samt linket til billedet?
Kildeteksten  i "vis kilde" ser ud som nedenstående? Det siger mig ikke og en dyt?

<img src=>D:\PC Optimize\Internet\Til Janes web\Billeder\Dametoej\Kjoler\blue.jpg#D:\PC Optimize\Internet\Til Janes web\Billeder\Dametoej\Kjoler\blue.jpg#<br>

Og hvorfor det står der 2 gange, øger kun min forvirring!

Håber det er oplysning nok.
Avatar billede nythjem Nybegynder
10. november 2005 - 14:45 #3
Udskift denne linie:

Response.write "<img src=>" & rs("billede") & "<br>"

Med denne:

Response.write "<img src=""" & rs("billede") & """ border=""0""><br>"


Den udskriver billedet to gange fordi der findes to poster i databasen.

Jeg kan se, at du trækker hele server stien ud til billedet. Findes der evt. en anden post i databasen, hvor der eksempelvis kun står "blue.jpg" i stedet for "D:PC Optimize....\blue.jpg" ??
Avatar billede shifu Nybegynder
10. november 2005 - 15:12 #4
Hej igen

Jeg er snart på grådens rand!

Jeg udskiftede linjen til:
Response.write "<img src=""" & rs("billede") & """ border=""0""><br>"

Jeg får stadig firkanten med det røde kryds

Kildeteksten ser herefter sådan ud:
<img src="blue.jpg#blue.jpg#" border="0"><br>

I øvrigt har jeg 2 poster i databasen med forskellig tekst billeder. Men kun den første bliver vist?
Avatar billede nythjem Nybegynder
10. november 2005 - 17:40 #5
Eftersom der bliver udskrevet blue.jpg#blue.jpg#" må man jo antage, at det står sådan i databasen.

Grunden til, at du får et rødt kryds skyldes at det er den forkert sti til billedet. Uden at jeg er helt sikker kunne det jo være:

Response.write "<img src=""../billeder/dametoej/kjoler/" & rs("billede") & """ border=""0""><br>"
Avatar billede shifu Nybegynder
10. november 2005 - 18:01 #6
Kanon!!!!

Det hjalp. Nu smiler jeg igen!

Rigtig mange tak for hjælpen!!
Avatar billede nythjem Nybegynder
10. november 2005 - 18:07 #7
Lækkert.. :)

Og tak for point..
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

Netcompany A/S

Test Consultant

Netcompany A/S

Network Engineer

Capgemini Danmark A/S

Senior SAP S/4HANA Finance Lead

MAN Energy Solutions

Power Platform Developer

Capgemini Danmark A/S

IGNITE Graduate Program 2025