Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema sintassi INSERT INTO

    salve a tutti...il mio problema è questo msg:

    codice:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
    /Esegui.asp, line 30
    il body della pagina esegui.asp è questo:
    codice:
    <%
    '****Recupero materia, alunno e giudizio attuale 
    alunno =request.form("ComboAlunno")
    materia = request.form("ComboMateria")
    voto = request.form("ComboGiudizi")
    
    'dichiarazione query
    Set rsPagella = Server.CreateObject("ADODB.Recordset")
    Dim sqlPagella ' Creo la query SQL
    sqlPagella = "INSERT INTO Pagella (ID_Persona,ID_Materia,Giudizio) VALUES ("&alunno&","&materia&","&voto&")" 
    rsPagella.Open sqlPagella, cn ' Apro il Recordset
    
    response.write "Complimenti, le informazioni sono state inserite correttamente!"
    'chiudo la connessione
    cn.Close
    Set cn = Nothing
    %>
    la riga incriminata è quella in rosso

    il problema credo che sia dentro al values perchè per prova ho scritto 3, 3, 3 e funziona correttamente...

    sapete dirmi dove sta questo errore di sintassi pls?
    ho confrontato con miliardi di altri esempi in internet, ma questo benedetto errore proprio nn lo trovo....

  2. #2
    sempre a ripetere le stesse cose...
    ----------------------------------------------------
    impariamo a fare un po' di debug

    *subito* dopo la composizione della stringa SQL metti

    Response.Write "maGGica SQL...: " & sqlPagella
    Response.Flush

    poi posta quello che viene a video
    ----------------------------------------------------

  3. #3
    ad occhio alle values mancano gli apostrofi credo che almeno alunno e materia siano stringhe ^_^

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Inoltre la INSERT deve essere ESEGUITA, non serve il recordset.
    Dopo di essa basta mettere:
    codice:
    cn.Execute sqlPagella
    Roby

  5. #5
    nn era questione di apici (che vanno solo se i dati che inserisco sono non numerici, mentre i miei controllando sono solo numerici...per materia e alunno usavo il loro id ^^)

    facendo varie prove (response.write della query) mi sono accorto che prendeva l'ultimo valore (che glie lo davo nella pagina precedente), ma nn i primi 2 (che glie li davo 2 pagine precedenti)

    dovevo semplicemente usare una querystring ^^

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.