Problema sintassi INSERT INTO

lunedì 05 luglio 2010 - 01.11

Gabriele85 Profilo | Newbie

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

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:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

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

alx_81 Profilo | Guru

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

>il problema credo che sia dentro al values perchè per prova ho
>scritto 3, 3, 3 e funziona correttamente...
il probema sta nella concatenazione. A parte il fatto che sei potenzialmente preda facile per attacchi di tipo sql injection, il problema sta nel fatto che uno dei valori che passi probabilmente è composto in modo tale da "spaccare" lo statement che speri di ottenere.
Prova a stampare la INSERT prima di eseguirla e ferma l'esecuzione dopo la stampa, così vedi che istruzione viene creata.
Potrebberto esserci apici involontarie, virgole di troppo.. Prima controlla stampando lo statement e non eseguendolo.


--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Gabriele85 Profilo | Newbie

stampa a video:
INSERT INTO Pagella (ID_Persona,ID_Materia,Giudizio) VALUES (,,3)

il request.form mi prende i valori solo dalla pagina subito precedente
nn da quelle ancora prima...
ecco perchè dei 3 valori dell'insert, mi funziona solo l'ultimo

eventuali problemi alla sicurezza nn me ne preoccupo, poichè è soltanto un progettino da portare al prof all'università ^^

grazie cmq per l'interessamento ^^

alx_81 Profilo | Guru

>stampa a video:
>INSERT INTO Pagella (ID_Persona,ID_Materia,Giudizio) VALUES (,,3)
>
>il request.form mi prende i valori solo dalla pagina subito precedente
>nn da quelle ancora prima...
>ecco perchè dei 3 valori dell'insert, mi funziona solo l'ultimo
ok allora così non funziona perchè devi portare con te i tre valori corretti da inserire per fare la insert.
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Gabriele85 Profilo | Newbie

nn era questione di apici (che vanno solo se i dati che inserisco sono non numerici, mentre i miei controllando sono solo numerici)

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 ^^

alx_81 Profilo | Guru

>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)
sì il problema sta proprio nel fatto che non passi i valori pagina per pagina per ripropagare i valori.

>dovevo semplicemente usare una querystring ^^
mah, questa è una scelta, potevi passare i valori in campi hidden..
come meglio credi e come sei più comodo.
Il problema l'abbiamo trovato

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5