Avatar billede jerving Nybegynder
03. oktober 2002 - 14:17 Der er 5 kommentarer og
1 løsning

Problemer med ExtractFileName samt overførsel af ID (AspUpload)

Kære eksperter – er der nogen der kan fortælle mig hvor mismatch fejlen ligger i min Conn.Execute(SQL) sætning?

Det tyder på at jeg hverken får Pic1 = Pic.ExtractFileName korrekt overført eller WHERE ID = '"&updid&"'".

Her er koden:

En del af formen:

’Id kommer herfra:

<input name="id" type="hidden" value="<%= (rs("ID"))%>">


Billedefilen kommer herfra:

<input class='formField' name='fileupload' type='file' id='fileupload'>

Update delen kommer her:

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = False
sti = Server.MapPath("../images/") & "\"
Upload.Save sti

ArticleName = Upload.Form("ArticleName")
Headline = Upload.Form("Headline")
Article = Upload.Form("Article")
updid = Upload.Form("id")
Set Pic = Upload.Files("Image1")
    If Pic is nothing Then
        Pic1 = ""
    Else
        Pic1 = Pic.ExtractFileName
    End if


        Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../db/AtlantikData.mdb")
Conn.Open DSN



SQL = "UPDATE Articles SET ArticleName = '" & ArticleName & "', HeadLine = '" & HeadLine & "', Article ='" & Article & "',Image1 ='../images/" & Pic1 & "' WHERE ID = '"&updid&"'"

Conn.Execute(SQL)


Conn.Close
Set Conn = Nothing

Billedet kan uploades korrekt til den respektive mappe, men  Pic1 = Pic.ExtractFileName fungerer tilsyneladende ikke og updid, som skulle være Id’et udløser mismatch fejlen.

Er der nogen der kan hjælpe mig?
Avatar billede thomas_regin Nybegynder
03. oktober 2002 - 14:56 #1
Hejsa!

Du skal lave en FOR løkke på din PIC-variabel!

for each file in Upload.Files
    Pic = file.ExtractFileName
Next
strSQL = "BLABLA"

Hvorfor du ikke får ID'et med ud, kan jeg kun gætte mig til: Nemlig at du ikke får den med fra foregående side, hvorfra du poster. Og så prøv at fjerne paranteserne, så der står:

<input name="id" type="hidden" value="<%=rs("ID")%>">

Med venlig hilsen,

Thomas Regin.
Avatar billede jerving Nybegynder
03. oktober 2002 - 15:39 #2
Tak for budet Thomas, men samme problem er der stadig - hvad angår overførsel af feltet "id" er der tilstadighed samme problem --- Mismatch. Jeg har derfor prøvet at sætte WHERE til at være ArticleName istedet hvilket løser dette problem. Men databasen modtaget stadig ikke filnavnet - der bliver blot tilføjet "../images/". Jeg har sat den således op:

for each file in Upload.Files
    Pic = file.ExtractFileName
Next


Set Pic = Upload.Files("Image1")

    If Pic is nothing Then
        Pic1 = ""
    Else
        Pic1 = Pic.ExtractFileName
    End if


        Set Conn = Server.CreateObject... blablabla

Er det (givetvis) bare mig der er en kæmpe idiot?

Med venlig hilsen,

Philip
Avatar billede jerving Nybegynder
03. oktober 2002 - 19:28 #3
Lukker
Avatar billede thomas_regin Nybegynder
03. oktober 2002 - 20:25 #4
Fandt du løsningen!?

I så fald må du da gerne dele den med os andre! :)

Med venlig hilsen,

Thomas Regin.
Avatar billede jerving Nybegynder
03. oktober 2002 - 20:33 #5
Ja, jeg fandt lavede fjernede <input name="id" type="hidden" value="<%=rs("ID")%>"> og overfører ID'et med Request.QueryString("id")i stedet. Jeg har endnu ikke fundet en løsning til ExtractFileName :o(
Avatar billede thomas_regin Nybegynder
03. oktober 2002 - 20:55 #6
Må jeg ikke se hele koden?.. Det kan jo rent faktisk være, at du IKKE får billedet med over af den ene eller anden grund!

Mvh.

Thomas.
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