Avatar billede ducks Nybegynder
10. januar 2004 - 10:26 Der er 13 kommentarer og
1 løsning

Uploade filer sammen med opdatering af database

Hvordan kan jeg fra samme form, opdatere databasen og uploade et billede?
Når man upload filer, skal der stå enctype="multipart/form-data" i <form>, men det vil den vidst ikke acceptere hvis man skal opdatere noget tekst i databasen, som bliver requestet fra en input="text" fra samme form. Så hvordan kan jeg gøre begge dele fra samme form, med ASPSmartUpload?

Jeg har prøvet med:

<%
  If Request.QueryString("upload") = "ja" Then

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../include/jsadfuioijhf89dfssa46.mdb")

    '  Object creation
    dim upload
    Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
    'Max størrelse i bytes
    upload.MaxFileSize = 20000
    upload.AllowedFilesList = "GIF,JPG"
 
    'Upload filerne til memory
    upload.Upload

    For each file In upload.Files
      If not file.IsMissing Then
        file.saveas 1 &"."& File.FileExt
      end if
    next

    Set upload = nothing

    SQL = "Insert Into users(nick) Value('"& Request.Form("nick") &"') Where ID = 8"
    Conn.Execute(SQL)

end if
%>
<form method="post" action="test.asp?upload=ja" enctype="multipart/form-data">
  <input type="file" name="fil1">
  <input type="text" name="nick">
  <input type="submit" name="Upload" value="Upload">
</form>

Men får fejlen:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x1430 Thread 0xc10 DBC 0xc450014 Jet'.

/test.asp, line 5

Jeg kunne ikke lige finde noget på microsoft.com.


Lige et ekstra spørgsmål, hvis jeg vil opdatere en større txt fil, anbefales det så at jeg lægger den ind i databasen, eller uploader den til en mappe og bagefter kalder den fra mappen? (Access database)
De vil være på ca. 200 korte linier.
Avatar billede ducks Nybegynder
10. januar 2004 - 10:28 #1
Jeg prøver lige med den rigtige sti til databasen, så får jeg den her fejl:

Request object error 'ASP 0207 : 80004005'

Cannot use Request.Form

/test.asp, line 25

Cannot use Request.Form collection after calling BinaryRead.
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 10:29 #2
I stedet for Request.Form bruger du bare  upload.Form
Avatar billede ducks Nybegynder
10. januar 2004 - 10:36 #3
Jeg får stadig den her fejl, når jeg retter det til upload.Form:

Microsoft VBScript runtime error '800a01a8'

Object required

/test.asp, line 25
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 10:40 #4
Du må jo ikke bruge upload objektet efter du har smidt det væk :)
Avatar billede ducks Nybegynder
10. januar 2004 - 10:47 #5
Ja det er jo klart :\

Så får jeg:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement.

/test.asp, line 24

Linie 24 er den linie med Conn.Execute(SQL)
Mener da ikke jeg plejer at bruge ; i Conn.Execute(SQL)

Jeg har rettet Value til Values
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 10:48 #6
Ja, men du kan ikke sætte en where på en INSERT. Måske du mener en UPDATE
Avatar billede ducks Nybegynder
10. januar 2004 - 10:54 #7
Jeg er vidst ikke helt frisk endnu :\

Ved du hvad der er bedst, at uploade txt filerne i en mappe eller lægge dem ind i databasen?
Det er config filer, så de vil udelukkende bestå af enEllerAndenStreng "værdi" på 200 linier.
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 10:59 #8
Database eller fil? Det kan jeg ikke bare udtale mig om ;)

Måske du mener

  SQL = "UPDATE users SET nick='"& upload.Form("nick") &"' Where ID = 8"
Avatar billede ducks Nybegynder
10. januar 2004 - 11:49 #9
Smider du lige et svar, så får du din del af pointene når jeg har fået svar på det sidste?
Avatar billede erikjacobsen Ekspert
10. januar 2004 - 12:07 #10
Nej tak, jeg samler slet ikke på point.
Avatar billede ducks Nybegynder
10. januar 2004 - 12:39 #11
Og alligevel ligger du i top 10.. :\
Avatar billede ducks Nybegynder
10. januar 2004 - 12:41 #12
Men sålænge man har nok point til at oprette de spørgsmål, man har brug er det vel også fint.
Avatar billede trumf Nybegynder
10. januar 2004 - 12:43 #13
Fuck (undskyld udtrykket) men den har også irriteret mig i noget kode jeg har lavet for længe siden. Jeg lavede noget med at lave en mellem side hvor den lavede data om og sendte dem videre så jeg kunne modtage dem med request.querystring i stedet, men nu kan jeg vist optimere min kode en del.

Fedt jeg lige faldt over denne tråd :-)
Avatar billede ducks Nybegynder
10. januar 2004 - 13:05 #14
Hehe... jeg har hidtil lavet så man enten skulle uploade sit billede eller opdatere sin profil.. ikke helt optimalt :-\
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