Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ang. access och bilder

Postades av 2004-03-16 16:20:55 - Marcus Svensson, i forum asp - allmänt, Tråden har 9 Kommentarer och lästs av 470 personer

Jag har en databas som innehåller x antal bilder med tillhörande text.

Jag vill nu såklart loopa fram bilderna, men det som händer nu är att jag får en och samma bild hela tiden men texten ändras, hur gör jag för att byta ut även bilden?

Det som händer är att det alltid är den senaste bilden i databasen som visas.
Kanske det är någon som förstår?

Detta är koden jag använder mig av i en fil som heter binarywriteimage.asp:

<%
dim conntemp, cnpath, sqltemp, rstemp, myid, dbname

dbname="admin/db/bilar.mdb"
myid=request.cookies("AHKId")
set conntemp=server.createobject("adodb.connection")
cnpath="DBQ=" & server.mappath(dbname)
conntemp.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath
sqltemp="select * from bilar where medlemsid="
sqltemp=sqltemp & myid & ""
set rstemp=conntemp.execute(SQLTemp)

size = rstemp("File Data").ActualSize
chunk = rstemp("File Data").GetChunk(size)

Response.Clear
Response.ContentType = "image/JPEG"
Response.BinaryWrite chunk
%>


Anropet till den filen är:

<%if rstemp("File Data").ActualSize > 0 then%>
<img src="binarywriteimage.asp" border="1" alt="<%=rstemp("bilnamn")%>">
<%end if%>

Tacksam för hjälp!

--------------
Marcus


Svara

Sv: Ang. access och bilder

Postades av 2004-03-16 19:47:40 - Andreas Hillqvist

Testa att använda querystring istället:
<code>
<%
Dim rs
Dim conn
Dim field

Dim strSQL
Dim strPath
Dim MedlemsId

Const dbName = "admin/db/bilar.mdb"

Response.Buffer = True
MedlemsId = "" & Request.QueryString("MedlemsId")
If IsNumeric(MedlemsId) Then
strPath = Server.MapPath(dbName)

Set conn = Server.Createobject("ADODB.Connection")
conn.Open Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strPath

strSQL = "SELECT * FROM bilar WHERE MedlemsId = " & MedlemsId

Set rs = Server.Createobject("ADODB.Recordset")
rs.Open strSQL, conn

Set field = rs("File Data")
Response.Clear
Response.ContentType = "image/JPEG"
Response.BinaryWrite field.GetChunk(field.ActualSize)
Set field = Nothing

rs.Close
Se rs = Nothing

conn.Close
Set conn = Nothing
Else
Response.Write "<HTML><BODY>Ange MedlemsId. T.Ex. DinSida.asp?MedlemsId=15</BODY></HTML>"
End If
Response.End
%>
</code>


Svara

Sv: Ang. access och bilder

Postades av 2004-03-16 20:21:01 - Marcus Svensson

Jag tog din kod och förändrade lite, då jag inte skickar med något id i queryn så använde jag mig av cookies som skickas med hela tiden istället. Men problemet kvarstår fortfarande, alltså bilderna som visas är samma för alla inläggen även om det i databasen är olika filer inlagda...

Vad är felet?

<code>
<%
Dim rstemp
Dim conntemp
Dim field

Dim strSQL
Dim strPath
Dim MedlemsId

Const dbName = "admin/db/bilar.mdb"

Response.Buffer = True
MedlemsId = "" & Request.Cookies("AHKid")
If IsNumeric(MedlemsId) Then
strPath = Server.MapPath(dbName)

Set conntemp = Server.Createobject("ADODB.Connection")
conntemp.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strPath

strSQL = "SELECT * FROM bilar WHERE medlemsid = " & MedlemsId

Set rstemp = Server.Createobject("ADODB.Recordset")
rstemp.Open strSQL, conntemp

Set field = rstemp("File Data")
Response.Clear
Response.ContentType = "image/JPEG"
Response.BinaryWrite(field.GetChunk(field.ActualSize))
Set field = Nothing

rstemp.Close
Set rstemp = Nothing

conntemp.Close
Set conntemp = Nothing
end if
%>
</code>


Svara

Sv: Ang. access och bilder

Postades av 2004-03-16 20:53:02 - Andreas Hillqvist

Att använda cookies kommer ge dig en massa problem. Du kan bar visa en bild per sida. Om du navigerar mellan bilder kommer du förlora bilder.

Visa gärna koden för sidan där din bild anropas. Ex. <IMG src="Image.asp">


Svara

Sv: Ang. access och bilder

Postades av 2004-03-16 21:03:44 - Marcus Svensson

Koden för sidan som anropas :

<code>
<%
Dim rstemp
Dim conntemp
Dim field

Dim strSQL
Dim strPath
Dim MedlemsId

Const dbName = "admin/db/bilar.mdb"

Response.Buffer = True
MedlemsId = "" & Request.Cookies("AHKid")
If IsNumeric(MedlemsId) Then
strPath = Server.MapPath(dbName)

Set conntemp = Server.Createobject("ADODB.Connection")
conntemp.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strPath

strSQL = "SELECT * FROM bilar WHERE medlemsid = " & MedlemsId

Set rstemp = Server.Createobject("ADODB.Recordset")
rstemp.Open strSQL, conntemp

Set field = rstemp("File Data")
Response.Clear
Response.ContentType = "image/JPEG"
Response.BinaryWrite(field.GetChunk(field.ActualSize))
Set field = Nothing

rstemp.Close
Set rstemp = Nothing

conntemp.Close
Set conntemp = Nothing
end if
%>
</code>

Koden från sidan som anropar:

<code>
dim conntemp, cnpath, sqltemp, rstemp, myid, dbname

dbname="admin/db/bilar.mdb"
myid=request.cookies("AHKId")
set conntemp=server.createobject("adodb.connection")
cnpath="DBQ=" & server.mappath(dbname)
conntemp.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath
sqltemp="select * from bilar where medlemsid="
sqltemp=sqltemp & myid & ""
set rstemp=conntemp.execute(SQLTemp)

If Not rstemp.EOF Then

While Not rstemp.EOF
response.Write("<table width='500' border='0'><tr valign='top'><td class='stdText'>")
%>
<img src="binarywriteimage.asp" border="1" alt="<%=rstemp("bilnamn")%>">
<%
response.Write("</td><td class='stdText'>")
response.Write("<table width='350' border='0'><tr valign='top'><td class='stdText' width='40'>")
response.Write("Bilnamn:</td><td class='stdText' width='230'>")
if rstemp("bilnamn") = "" then
response.Write("Inget namn sparat!")
else
response.Write(rstemp("bilnamn"))
end if
response.Write("</td></tr><tr><td class='stdText'>")
response.Write("Årsmodell:</td><td class='stdText' width='230'>")
response.Write(rstemp("arsmodell"))
response.Write("</td></tr><tr><td class='stdText' valign='top'>")
response.Write("Beskrivning:</td><td class='stdText' width='230'>")
response.Write(rstemp("beskrivning"))
response.Write("</td></tr><tr><td class='stdText'>")
response.Write("Datum / tid:</td><td class='stdText' width='230'>")
response.Write(rstemp("date") & "&nbsp;/&nbsp;" & rstemp("time"))
response.Write("</td></tr><tr><td class='stdText'>")
response.Write("&nbsp;</td><td align='right' class='stdText' width='230'>")
response.Write("Ändra uppgifter »")
response.Write("</td></tr><tr><td class='stdText'>")
response.Write("</td></tr></table></table>")


rstemp.MoveNext
Wend

else
response.Write("<table width='350' border='0'><tr valign='top'><td class='stdText'>")
response.Write("<b>Du har ännu inga bilder uppladdade!</b></td>")
response.Write("</tr></table>")
rstemp.close
conntemp.close
set rstemp=nothing
set conntemp=nothing
end if
%>
</code>


Kan du hjälpa mig lösa detta utan att ändra för mycket i koden skulle jag vara extremt tacksam. Jag behöver absolut inte använda cookies, håller som det är just nu på att ändra lite annat från cookie-innehåll till att istället hämta värdet från db.

Tack!

--------------
Marcus


Svara

Sv: Ang. access och bilder

Postades av 2004-03-16 22:34:40 - Andreas Hillqvist

Vad har du för primärnyckel i tabellen bilar?

Om du har en ränare som heter BilId, skulle det se ut så här:

binarywriteimage.asp
<code>
<%
Dim rstemp
Dim conntemp
Dim field

Dim strSQL
Dim strPath
Dim BilId
Dim MedlemsId

Const dbName = "admin/db/bilar.mdb"

Response.Buffer = True
BilId = "" & Request.QueryString("BilId")
MedlemsId = "" & Request.Cookies("AHKid")

If IsNumeric(BilId) Then
strPath = Server.MapPath(dbName)

Set conntemp = Server.Createobject("ADODB.Connection")
conntemp.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strPath

strSQL = "SELECT * FROM bilar WHERE BilId = " & BilId

Set rstemp = Server.Createobject("ADODB.Recordset")
rstemp.Open strSQL, conntemp

Set field = rstemp("File Data")
Response.Clear
Response.ContentType = "image/JPEG"
Response.BinaryWrite(field.GetChunk(field.ActualSize))
Set field = Nothing

rstemp.Close
Set rstemp = Nothing

conntemp.Close
Set conntemp = Nothing
end if
%>
</code>

<code>
<%

Function GetNamn(Value, EmptyValue)
If Len(Value) > 0 Then
GetNamn = Value
Else
GetNamn = EmptyValue
End if
End Function

Dim rstemp
Dim conntemp

Dim strSQL
Dim strPath
Dim MedlemsId

Const dbName = "admin/db/bilar.mdb"

Response.Buffer = True
MedlemsId = "" & Request.Cookies("AHKid")
If IsNumeric(MedlemsId) Then
strPath = Server.MapPath(dbName)

Set conntemp = Server.Createobject("ADODB.Connection")
conntemp.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strPath

strSQL = "SELECT * FROM bilar WHERE medlemsid = " & MedlemsId


If rstemp.EOF Then
response.Write "<TABLE width='350' border='0'>"
Response.Write "<TR valign='top'>"
Response.Write "<TD class='stdText'>Du har ännu inga bilder uppladdade!</TD>"
Response.Write "</TR>"
Response.Write "</TABLE>"
Else
Do
Response.Write "<TABLE width='500' border='0'>"
Response.Write "<TR valign='top'>"
Response.Write "<TD class='stdText'><img src=""binarywriteimage.asp?BilId=" & rstemp("BilId") & """ border=""1"" alt=""" & Server.HTMLEncode(rstemp("bilnamn")) & """></TD>"
Response.Write "<TD class='stdText'>
Response.Write "<TABLE width='350' border='0'>"
Response.Write "<TR valign='top'>"
Response.Write "<TD class='stdText' width='40'>Bilnamn:</TD>
Response.Write "<TD class='stdText' width='230'>" & GetNamn(rstemp("bilnamn"), "Inget namn sparat!") & "</TD>"
Response.Write "</TR>"
Response.Write "<TR>
Response.Write "<TD class='stdText'>Årsmodell:</TD>
Response.Write "<TD class='stdText' width='230'>" & Server.HTMLEncode(rstemp("arsmodell") & "</TD>
Response.Write "</TR>"
Response.Write "<TR>
Response.Write "<TD class='stdText' valign='top'>Beskrivning:</TD>
Response.Write "<TD class='stdText' width='230'>" & Server.HTMLEncode(rstemp("beskrivning")) & "</TD>
Response.Write "</TR>"
Response.Write "<TR><TD class='stdText'>Datum / tid:</TD>
Response.Write "<TD class='stdText' width='230'>" & Server.HTMLEncode(rstemp("date")) & "&nbsp;/&nbsp;" & Server.HTMLEncode(rstemp("time")) & "</TD>
Response.Write "</TR>"
Response.Write "<TR>
Response.Write "<TD class='stdText'>&nbsp;</TD>
Response.Write "<TD align='right' class='stdText' width='230'>Ändra uppgifter »</TD>
Response.Write "</TR>
Response.Write "</TABLE>"
Response.Write "</TD>"
Response.Write "</TR>"
Response.Write "</TABLE>"

rstemp.MoveNext
Loop Until rstemp.EOF
End If

rstemp.close
set rstemp = nothing

conntemp.close
set conntemp = nothing
Else
response.Write "<H3>Du är inte inloggad!</H3>"
End If
%>
</code>



Svara

Sv: Ang. access och bilder

Postades av 2004-03-16 23:12:37 - Marcus Svensson

Nu har jag satt min primärnyckel till BilId och installerat all kod du gav mig, lade till en del " som du hade missat. Men inga större problem förutom att den tjatar på detta felet på en rad som inte har någon kod och är längre upp i dokumentet.

Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''

Du är en helt otrolig människa som hjälper mig med detta!
Om jag med din hjälp får det att fungera ska jag bjuda dig på en öl nästa gång du kommer till Sthlm!

-----------
Marcus


Svara

Sv: Ang. access och bilder

Postades av 2004-03-16 23:18:56 - Marcus Svensson

Det funkar, lite fix och trix bara!

Från och med nu Andreas är du min ALLRA ALLRA bästa vän!

Helt jä--a underbart jobbat av dig!
Finns det något jag kan göra för att visa min uppskattning så säg till?

Har du något PG nummer så kan jag sätta in för en öl redan imorgon...om du inte kommer till Sthlm snart vill säga!

Tack!

----------
Marcus


Svara

Sv: Ang. access och bilder

Postades av 2004-03-17 01:13:56 - Andreas Hillqvist

Alltid kul och hjälpa till.

Jag påstår att eventuella fel i koden är för utbildningssyfte. Tills motsatsen, att jag slarvar, är bevisad. ;o)

Då har jag en anledning till att resa till sthlm. ;o)

Får samla på mig tillräckligt mycket ölpengar för att tjäna in biljetpriset. Fast jag kanske bör nämna att jag är nykterist. ;o)



Svara

Sv: Ang. access och bilder

Postades av 2004-03-17 10:19:17 - Marcus Svensson

Hej,

jag har sovit gott nu med lösningen färskt i minnet.
Jag tänkte nästan att det var så att det var för utbildningssyfte. Det är klart att det ska vara så, annars är det inte ärligt programmerat. Mycket bra fixat!

Tack återigen, och även om du är nykterist så hör av dig när du är på väg till Sthlm så kan vi alltid dricka en cola. Något för att visa min uppskattning.

---------
Marcus


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 788
27 960
271 761
5 889
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies