Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema con aspupload

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    4

    Problema con aspupload

    Salve a tutti, ho un problema con uno script che fa l'upload di file sul server su un database. Non sono un esperto e mi sto rompendo la testa, sembra un problema di sintassi da quanto restituisce il browser
    Lo script funziona perfettamente se insieme al file (sarà un'immagine) invio anche le info inserite in un campo di testo. Il problema nasce se tento di inseirire anche le info da altre textBox.
    Lo script ha 3 files:
    1 il form
    2 il codice asp che fa l'upload
    3 il database (quest'ultimo è molto semplice e funziona perfettamente se non aggiungo altri campi nel from e nel codice di invio dei dati)

    Il codice del form è il seguente:
    codice HTML:
    <HTML> 
    <BODY BGCOLOR="#FFFFFF">
    
    <h3>Aspupload: Salvare il file in Database Access via ODBC</h3>
    
        <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="odbc_upload.asp">
            <p>Nome<br>
              <input name="txtNome" type="text" id="txtNome">
            </p>
            <p>Cognome<br>
              <input name="txtCognome" type="text" id="txtCognome">
            </p>
            <p>File:<BR><INPUT TYPE=FILE NAME="THEFILE">
            </p>
            <P><BR>
        <INPUT TYPE=SUBMIT VALUE="Upload!">
    </FORM>
    </BODY> 
    </HTML>
    Non credo ci sia nulla di errato, il problema suppongo sia nel codice asp che invia i dati:
    codice:
    <%
        Set Upload = Server.CreateObject("Persits.Upload")
    
        ' Capture files
        percorso = Server.MapPath("/concorso2014/immagini")
        Upload.Save percorso
    
        ' Obtain file object
        Set File = Upload.Files("THEFILE")
    
        If Not File Is Nothing Then
            ' Build ODBC connection string
            Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("aspupload.mdb")
    
            ' If you use SQL Server, the connecton string must look something like this:
            ' Connect = "Driver=SQL Server;Server=MYSRV;Database=master;UID=sa;PWD=xxx"
    
            ' Build SQL INSERT statement
            SQL = "INSERT INTO MYIMAGES(image_blob, filename, nome, cognome, filesize ) VALUES(?, '"
            SQL = SQL & File.Filename & "', '"
            SQL = SQL & Replace(Upload.Form("txtNome"), "'", "''") & "', "
            SQL = SQL & Replace(Upload.Form("txtCognome"), "'", "''") & "', "
            SQL = SQL & File.Size & ")"
    
            ' Save to database
            File.ToDatabase Connect, SQL
            Response.Write "Grazie, il tuo file è stato inserito nel database."
        Else
            Response.Write "Attenzione! File non selezionato."
        End If
    %>
    La riga incriminata è la seguente:
    codice:
    SQL = SQL & Replace(Upload.Form("txtCognome"), "'", "''") & "', "
    Se non la inserisco funziona perfettamente. Il mio dubbio è: non posso inserire altri campi di testo con questo tipo di script? Ne supporta solo uno oltre ai campi per l'upload?

    Se inserisco il secondo campo di testo (nel'esempio "cognome") ottengo il seguente errore dal browser:

    codice:
    Persits.Upload.1 error '800a001c' 
     [Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'TestoCognome', 197171)'. 
     /concorso2014/odbc_upload.asp, line 29
    Mi è venuto il mal di testa, grazie a chi vorrà darmi una mano

    Rob

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    1 Nella insert hai 5 campi mentre nel value 4 (? Non so se vale per tutti i tipi di campi e comunque io lo toglierei campo e valore) questo potrebbe dare problemi perché sfalsi i campi
    2 Non salvare immagine nel database metti solo il percorso l'immagine mentila fisicamente in una cartella specifica con diritti di scrittura e di lettura
    3 Fai i replace fuori dalla query

    Ultima modifica di cavicchiandrea; 10-11-2014 a 18:37
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.