Avatar billede tummas Nybegynder
11. september 2007 - 11:00 Der er 12 kommentarer og
1 løsning

Access hentning af OLE objekt kan ikke lade sig gøre.

Hej jeg har været ude på www.html.dk og lært asp. Men jeg kan ikke hente et OLE-objekt ud af den.
Min asp filer ligger på http://www.lollandfaergefart.dk/liste.asp
Jeg har modificeret db'en lidt således at kolonne navn er af tyen tekst og efternavn af typen ole-objekt.
kun to af navnene indeholder ole-objekt nemlig fætter indeholder et billede og anders der indholder en pdt-fil.
Her kommer min kode:
liste.asp
<html>
<head>
<title>Hente data fra database</title>
</head>
<body>
<ul>
<%
' 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("/fpdb/database.mdb")
Conn.Open DSN

strSQL = "Select * From personer Order by Fornavn Desc"
Set rs = Conn.Execute(strSQL)

Do
  ' Personens navn
  strNavn = rs("Fornavn")

  ' lav et link til person.asp med Id-værdien i URL
  strLink = "<a href='beskriv.asp?id=" & rs("Id") & "'>" & strNavn & "</a>"

  ' Liste med links
  Response.Write "<li>" & strLink & "</li>"

  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
</ul>
</body>
</html>

Beskriv.asp
<html>
<head>
<title>Hente data fra database</title>
</head>
<body>
<dl>
<%
' 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 ("/fpdb/database.mdb")
Conn.Open DSN

' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From personer Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

' Skriv personens data
Response.Write "<dd>" & rs("Efternavn") & "</dd>"

Conn.Close
Set Conn = Nothing
%>
</dl>
<p><a href="liste.asp">Retur til listen</a></p>
</body>
</html>
Er der nogen der kan hjælpe mig med denne kode.
Avatar billede w13 Novice
12. september 2007 - 00:25 #1
Du får vel en fejlmeddelelse eller hvad? Vi skal være heldige for at gætte, hvad der går galt uden en fejlbesked.
Avatar billede arne_v Ekspert
12. september 2007 - 01:09 #2
1) du kan ikke vise billeder på den måde - du er nødt til at generere et IMG tag
  med en SRC til et tredie script som kun retunerer billede
2) du kan slet ikke vise ægte OLE objekter - du kan kun vise rå JPG/GIF/PNG som
  er gemt i et OLE objekt felt
Avatar billede tummas Nybegynder
12. september 2007 - 09:01 #3
Hej w13 det browseren viser er "Webstedet kan ikke vise siden" og så kommer den med en HTTP 500
Avatar billede tummas Nybegynder
12. september 2007 - 09:05 #4
Hej arne vil det sige at selv om Accesss kan gemme hele *.doc, *.pdf samt mange andre filer så kan jeg ikke vise dem i et browservindue, eller på anden vis få fat i dem fra en Access over en browser?
Er der andre databaser jag kan gøre dette med?
Avatar billede arne_v Ekspert
13. september 2007 - 01:55 #5
Du kan sagtens vise både .doc, .pdf, .jpg etc. - HVIS:
1) de gemmes som rå bytes ikke som OLE
2) der er et IMG tag til et script
Avatar billede tummas Nybegynder
15. september 2007 - 08:39 #6
Hej arne v Undskyld det sene svar har været på arbejde.
1) Jeg har set i Access db'en men her er der kun muligt af oprette tekst, notat, ole o.s.v. men ikke rå bytes. Eller er daer bare noget jeg ikke forstår?
2) IMG tag til et script hvordan ser det ud?
Avatar billede arne_v Ekspert
15. september 2007 - 16:32 #7
Data type skal stadig være OLE Objekt.

Men indholdet skal ikke gemmes som OLE Object men som rå bytes.

<IMG SRC="visbillede.asp?id=77">
Avatar billede tummas Nybegynder
17. september 2007 - 09:23 #8
Jeg er lidt af en analfabet, og forstår det ikke rigtigt.
Jeg har defineret datatypen i tabellen til OLE Objekt. Og så har jeg lagt pdf filen ind i tabellen, jeg har på intet tidspunkt kunne vælge om filen skulle lægges ind som rå bytes.
Avatar billede arne_v Ekspert
18. september 2007 - 03:17 #9
Hvis du ligger den ind med ASP så bliver den lagt ind som rå bytes og kan
hentes igen.
Avatar billede tummas Nybegynder
18. september 2007 - 14:58 #10
Ok fint nok.
Hvad så med denne kode
'Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From personer Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)
' Skriv personens data
Response.Write "<dd>" & rs("Efternavn") & "</dd>"

'hvis vi nu siger at "Efternavn" er der hvor filen ligger hvordan indsætter jeg så

<IMG SRC="visbillede.asp?id=77">

'ind i koden.
Avatar billede arne_v Ekspert
20. september 2007 - 03:04 #11
noget a la:

Response.Write "<IMG SRC='visbillede.asp?id=" & rs("id") & "'>"

hvor visbillede.asp så indeholder:

Set rs = con.Execute("SELECT billede FROM tabel WHERE id=" & Request("id"))
Response.Clear
Response.ContentType = "image/jpeg" ' hvis JPEG
Response.BinaryWrite rs("billede")
Response.End
Avatar billede tummas Nybegynder
20. september 2007 - 11:00 #12
Hej arne.
Du har indtil videre kun sendt kommentarer, hvad med at sende mig et svar, så du får nogle point.
Du har været mig til stor hjælp, tusind tak. :-)
Avatar billede arne_v Ekspert
20. september 2007 - 16:10 #13
ok
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