Avatar billede duno Nybegynder
02. april 2003 - 13:17 Der er 9 kommentarer og
1 løsning

Ingen kontakt til DB

Hej jeg har følgende kode... den skal kunne uploade et billede til en /log/ mappe og den skal samtidig lægge en sti til det uploadede billede in i databasen (roskilde.mdb) den del med upload af billede.. den virker, men jeg får ikke lagt et link til billedet i databasen, og den peger heller ikke videre til uploadpic.asp som den burde... kan nogen se fejlen???


jeg er ret overbevist om at koden ligger i dette stykke kode....


    Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\www2\skole-guiden\db\roskilde.mdb;"
    ' Billedestien indsættes i BilledeTabel
    for each file in Upload.Files
      strSQL = "Update BilledeTabel SET Sti = '" & File.Filename & "' WHERE PersonID LIKE '" & Session("ID") & "'"
      myConn.Execute(strSQL)
next

personSQL = "UPDATE PersonTabel Set Billede = 'Ja' WHERE PersonID =" & Session("ID") & ""
myConn.Execute(personSQL)
rs.Close
Set rs = Nothing
response.redirect("billedevalg.asp")
end if
%>



Her er den fulde kode hvis det giver et bedre overblik!!!



<%
Set Upload = Server.CreateObject("Persits.Upload")

' Limit file size to 50000 bytes, throw an exception if file is larger
Upload.SetMaxSize 100000, True

' Undgå samme filnavn på to billeder
Upload.OverwriteFiles = False

' Intercept all exceptions to display user-friendly error
On Error Resume Next

' Perform upload

Count = Upload.SaveVirtual("/log/")
If Err then
' 8 is the number of "File too large" exception
If Err.Number = 8 Then
  Response.Write "Billedet er over 100kb. <br><br> <a href=""uploadpic.asp"">Prøv et andet billede.</a>"
Else
  If Err <> 0 Then
      Response.Write "Der opstod en fejl " & Err.Description
      Response.Write "<br><br> <a href=""uploadpic.asp"">Prøv igen.</a>"
    end if
end if
 
else
    Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\www2\skole-guiden\db\roskilde.mdb;"
    ' Billedestien indsættes i BilledeTabel
    for each file in Upload.Files
      strSQL = "Update BilledeTabel SET Sti = '" & File.Filename & "' WHERE PersonID LIKE '" & Session("ID") & "'"
      myConn.Execute(strSQL)
next

personSQL = "UPDATE PersonTabel Set Billede = 'Ja' WHERE PersonID =" & Session("ID") & ""
myConn.Execute(personSQL)
rs.Close
Set rs = Nothing
response.redirect("billedevalg.asp")
end if
%>
Avatar billede dk_akj Nybegynder
02. april 2003 - 13:35 #1
Har du en fejlmelding ??

//akj
Avatar billede eagleeye Praktikant
02. april 2003 - 13:36 #2
Prøv for test at fjerne denne linje:

On Error Resume Next


Så kommer der højst sansynligt en fejl meddelse som beskriver fejlen.
Avatar billede dk_akj Nybegynder
02. april 2003 - 13:37 #3
Hmm..

Ret:
strSQL = "Update BilledeTabel SET Sti = '" & File.Filename & "' WHERE PersonID LIKE '" & Session("ID") & "'"
til:
strSQL = "Update BilledeTabel SET Sti = '" & File.Filename & "' WHERE PersonID = '" & Session("ID") & "'"

//akj
Avatar billede duno Nybegynder
02. april 2003 - 15:00 #4
Jeg får følgende fejl....

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'file.Filename'

/roskildeny/uploadscript.asp, line 29


dette er linie 29

strSQL = "Update BilledeTabel SET Sti = '" & File.Filename & "' WHERE PersonID LIKE '" & Session("ID") & "'"
Avatar billede tsunami Nybegynder
02. april 2003 - 17:51 #5
Dumt spørgsmål nok... men hvor i kildekoden uploader du billedet og hvor componenten får af vide hvad den skal uploade... ???
Avatar billede eagleeye Praktikant
02. april 2003 - 17:53 #6
Prøv at bruge:

File.Path

i stedet for File.Filenname i SQL sætnignen

strSQL = "Update BilledeTabel SET Sti = '" & File.Path & "' WHERE PersonID LIKE '" & Session("ID") & "'"
Avatar billede eagleeye Praktikant
02. april 2003 - 17:55 #7
Eller hvis du vil havdet selve filnavet så

File.Name
Avatar billede duno Nybegynder
02. april 2003 - 20:52 #8
Med file.path får jeg selve adressen til der hvor billedet ligger... jeg får så ikke den oprindelige fejl mere.. men heller ikke noget billede.. da jeg også selv peger ind i den mappe jeg vil hente billedet fra og peger derfor selv på

http://www.skole-guiden.dk/log/

og stien bliver så

http://www.skole-guiden.dk/log/d:/www2/skole-guiden/log/test1.jpg

jeg vil kun gemme selve navnet på filen... altså test1.jpg i databasen...

med file.name.. lader det til at jeg kommer et skridt nærmere.. men.. linket til filen bliver ..... Blob ... ved ikke hvad det betyder .. men det står der i databasen.. og prøver jeg at hente billedet bliver det til

http://www.skole-guiden.dk/log/blob... intet "efternavn" intet andet end Blob... hvad betyder det????
Avatar billede meilby Nybegynder
03. april 2003 - 00:26 #9
Hvis du går tilbage til måde med File.Path kan du gøre sådan her
<%
    strTest = File.Path
    strTemp = InStrRev(strTest, "/") +1
    strLen = Len(strTest)
    strLen = strLen - strTemp
    strBillede = Mid(strTest, strTemp, strLen)
    response.write strBillede
%>
så står der test1.jpg i strBillede variablen
Avatar billede duno Nybegynder
21. april 2003 - 00:12 #10
hvis man skrive sådan her så virker det.. sike en oplevelse.. i skal have tak for hjælpen...

strSQL = "Update PersonTabel SET Sti = '" & File.ExtractFileName & "' WHERE PersonID LIKE '" & Session("ID") & "'"


det var det her der virkede File.ExtractFileName lidt plat at det er så lidt der skiller en fra succes.. eller fiasko.. :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