21 messaggi dal 02 luglio 2007
Sto facendo un banale inserimento di dati nel DB Access, attraverso 4 pagine .asp.

Inserimento1.asp
contiene la form con le caselle testo
la form è: <form name="form1" method="post" action="Inserimento2.asp">
e ci sono TxtAllievo, TxtCorso, TxtNote

Inserimento2.asp
memorizza i dati inseriti nella Form precedente stampandoli anche a video
"INSERT se sono giusti l'utente clicca su "conferma", viene chiamata la pagina che inserisce i dati nel DB
Session("Allievo")=Request("Allievo")
Session("Corso")=Request("Corso")
Session("Note")=Request("Note")
NOME : <%=Request("TxtAllievo")%> <br>
COGNOME : <%=Request("TxtCorso")%> <br>
USER : <%=Request("TxtNote")%> <br>
<a href="Inserimento1.asp"> ANNULLA </a>
<a href="Inserimento3.asp?INSERIMENTO=1"> CONFERMA </a>

Inserimento3.asp
esegue l'inserimento vero e proprio nel DB access
If Request("INSERIMENTO") = "1" Then
Dim conn, Sql
Set conn = CreateObject("ADODB.Connection")
conn.open "xxxxx"
Sql =INTO TblAssenzeGiorno (Allievo, Corso, Note) VALUES ('" & Session("Allievo") & "','" & Session("Corso") & "','" & Session("Note") & "')"
conn.execute (Sql)
conn.close
set conn = nothing
Response.Clear()
Response.redirect "Inserimento4.asp?INSERIMENTO=2"
End If

Inserimento4.asp
comunica all'utente di inserimento avvenuto correttamente

L'errore che mi viene è dopo aver fatto clic su "conferma in pagina2:
Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione INSERT INTO.
/cdcaemiv/AssenzeGiornoInput3.asp, line 28

----------------

Ora mi chiedo: qui in ASP non esiste un debug.... ritengo che ci sia qualcosa sulla linea
Sql =INTO TblAssenzeGiorno (Allievo, Corso, Note) VALUES ('" & Session("Allievo") & "','" & Session("Corso") & "','" & Session("Note") & "')"
ma non posso sapere dove se non ho un debug...ricordo che c'era un modo manuale per farlo scrivendo dei response.write e vedere dove i dati non collimavano ma non ricordo...


Grazie a tutti !

Saluti da Potino78 (Antonio)
394 messaggi dal 11 agosto 2004
Sql ="INSERT INTO TblAssenzeGiorno (Allievo, Corso, Note) VALUES ('" & Session("Allievo") & "','" & Session("Corso") & "','" & Session("Note") & "')"
21 messaggi dal 02 luglio 2007
Scusa ma non ho capito la tua risposta, ho provato a copiare-incollare il codice che hai postato (anche se mi sembra uguale al mio) e continua a darmi lo stesso errore.

Saluti da Potino78 (Antonio)
43 messaggi dal 26 marzo 2007
Ciao, per ~debuggare prova a mettere un response.write dopo che componi la stringa sql e commenta il resto(eseguzione ecc...),copiati la stringa sql che ti viene restituita e provala su Access per controllare che funzioni....magari l'errore è qui
21 messaggi dal 02 luglio 2007
Grazie Lante, preziosissimo soprattutto perchè mi hai ricordato come "debuggare" (a pensarci bene era una stupidata...).

Ho risolto proprio eseguendo il codice Sql in Access ma attualmente rest il giallo come nei migliori polizieschi: praticamente mi dava l'errore sul 3° campo, quello che ho chiamato "Note".
Se eliminavo il 3° campo tutto funzionava (in Access).
Se chiamavo il 3° campo "Descr" invece di "Note" funzionava (in Access).
E così è stato: chiamando il campo "Descr" funziona pure in ASP.

Ora mi chiedo, non posso chiamare un campo "Note" perchè fa qualche stranno conflitto o è parola chiave Sql o una roba del genere? Mi sembra stranissima la cosa....

Saluti da Potino78 (Antonio)
4 messaggi dal 02 novembre 2007
potino78 ha scritto:
Ho risolto proprio eseguendo il codice Sql in Access ma attualmente rest il giallo come nei migliori polizieschi: praticamente mi dava l'errore sul 3° campo, quello che ho chiamato "Note".


NOTE e' una parola riservata, come lo e' DATE, NUMBER etc etc, finche' sei in lettura, speeso, non da' nessun tipo di problema, ma se vai in scrittura/aggiornamento hai qualche problema, apparentemente incomprensibile.

La soluzione e' mettere tra parentesi [ ] il nome del campo e tutto si risolve.

Ecco la spiegazione al tuo problema.

Roberto
21 messaggi dal 02 luglio 2007
Capisco, non ero troppo lontano allora ! Grazie.

Saluti da Potino78 (Antonio)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.