Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Errore SQL

  1. #1

    Errore SQL

    Ciao a tutti,
    ho la seguente funzione:

    Function AddImage(sTitle, sDate, sDescription, sSourceSmall, sSourceNormal, iHits, iCategory, iVersion, iIsAlbum, iAuthor, bValid)
    Dim oCn, rSQL

    Set oCn = DBConnexion(DB_MAIN)
    rSQL = "INSERT INTO images (iTitle, iDate, iDescription, iSourceSmall, iSourceNormal, iHits, iCategory, iVersion, iIsAlbum, iAuthor, iValid) VALUES ('" & SQLEncrypt(sTitle) & "', '" & sDate & "', '" & SQLEncrypt(sDescription) & "', '" & SQLEncrypt(sSourceSmall) & "', '" & SQLEncrypt(sSourceNormal) & "', " & iHits & ", " & iCategory & ", " & iVersion & ", " & iIsAlbum & ", " & iAuthor & ", " & bValid & ", 1,'"& sPseudo &"')"
    DBExecute oCn, rSQL

    oCn.Close
    Set oCn = Nothing

    AddImage = True
    End Function



    quando però compilo i campi del form, mi viene restituito questo errore:

    ErroreSQL -2147217900: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione INSERT INTO.
    SQL : INSERT INTO images (iTitle, iDate, iDescription, iSourceSmall, iSourceNormal, iHits, iCategory, iVersion, iIsAlbum, iAuthor, iValid) VALUES ('xcfdgfd', '20051016 11:10:14', 'dfgd', 'http://localhost/public/upload/images/carlo512.jpg', 'http://localhost/public/upload/images/carlo513.jpg', 0, 28, 6, , , 1, 1,'WebMaster')


    xcfdgfd ed dfgd sono Titolo e descrizione che ho messo io a caso... ma dov'è l'errore?
    Saluti,
    Carlo

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Normalmente quest'errore viene segnalato quando nel db un campo è previsto in un modo (testo, numerico, etc) ma nella query viene "passato" con l'attributo sbagliato (ad esmepio un campo numerico viene passato come testo).

    Puoi fare un pò di debug, eseguendo la query inserendo i campi a "blocchi" sino a quando non viene fuori l'errore, l'ultimo campo che avrai inserito sarà quello che contiene l'errore.

    E' comunque sempre buona prassi stamparsi le query per controllare, appunto, l'esattezza dei campi inseriti nella query:
    codice:
    rSQL = "INSERT INTO images (iTitle, iDate, iDescription, iSourceSmall, iSourceNormal, iHits, iCategory, iVersion, iIsAlbum, iAuthor, iValid) VALUES ('" & SQLEncrypt(sTitle) & "', '" & sDate & "', '" & SQLEncrypt(sDescription) & "', '" & SQLEncrypt(sSourceSmall) & "', '" & SQLEncrypt(sSourceNormal) & "', " & iHits & ", " & iCategory & ", " & iVersion & ", " & iIsAlbum & ", " & iAuthor & ", " & bValid & ", 1,'"& sPseudo &"')" 
    Response.Write rSQL:Response.End
    DBExecute oCn, rSQL
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  3. #3
    sai cosa penso io invece?che dei vaolor non vengono passati nel database perchè nel form mancano gli input per quei valori, infatti nell'errore c'è scritto:

    'http://localhost/public/upload/images/carlo513.jpg', 0, 28, 6, , , 1, 1,'WebMaster')


    vedi, ci sono 2 virgole consecutive, dove mancano tra l'una e l'atra i valori che invece ci sarebbero dovuti essere.

  4. #4
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Vedi? con un pò di debug qualcosa si risolve... accertati che quanto invii dal form si valorizzi correttamente nella pagina in cui esegui la query.
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

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.