Errore di sintassi
massimo74rn non è online. Ultima attività: 02/12/2008 0.22.26massimo74rn
Inserito il: 14 ottobre 2008 00.15
68 messaggi dal 26 lug 2008 Istalla Microsoft Silverlight!
Mi da errore di sintassi nell'espressione INSERT INTO, a me pare sia tutto giusto, ma mi pare di aver capito che il problema è nella variabile 'nx', ma non capisco il perchè, difatti se la elimini tutto funziona correttamente!


              
Dim tx As String = CType(dl.Rows(x).FindControl("Giorni"), TextBox).Text, c As Integer = 0
                
Dim nx As String = CType(dl.Rows(x).FindControl("Note"), TextBox).Text

With dst.Tables("an").Rows(0)
                    
                   sql = "INSERT INTO IndennitàCOL " & _
                   "(IDNominativo,IDGrado,IDGruppo,IDMese,IDAnno,Giorni," & _
                   "Note,DataInvioLOCAL,Autorizza) " & _
                   "VALUES (" & .Item("IDAnagrafica") & "," & _
                        "" & .Item("IDGrado") & "," & _
                        "" & .Item("IDGruppo") & "," & _
                        "" & IDMese & "," & _
                        "" & Anno & "," & _
                        "" & tx & ",'" & _
                        "" & nx & "','" & _
                        "" & "111120082338" & "'," & _
                        "" & False & ")"
  
              End With

www.rimini-incontri.com
RE: Errore di sintassi
Cradle non è online. Ultima attività: 04/12/2008 20.25.51Cradle
Inserito il: 14 ottobre 2008 00.54
contributi / Community manager / www.aspitalia.com / Blog / 512 messaggi dal 01 lug 2004 Istalla Microsoft Silverlight!
Usa il debugger e verifica l'sql effettivamente generato.

Ciao
RE: Errore di sintassi
davidedm70 non è online. Ultima attività: 05/11/2008 8.34.36davidedm70
Inserito il: 14 ottobre 2008 09.23
8 messaggi dal 20 giu 2006 Istalla Microsoft Silverlight!
Quasi sicuramente hai un apostrofo di troppo... Se ad esempio il valore di nx è nx = "l'abbiamo fatto" questo deve diventare "l''abbiamo fatto" altrimenti non può funzionare insert
RE: Errore di sintassi
m.casati non è online. Ultima attività: 03/12/2008 19.11.28m.casati
Inserito il: 14 ottobre 2008 09.28
contributi / Top Poster / Community manager / www.guru4.net / Blog / 2394 messaggi dal 13 giu 2001 Istalla Microsoft Silverlight!
Al consiglio di Cradle aggiungo una considerazione: perché non usi i parametri?
La tua query potrebbe dare un errore per la presenza di un banalissimo apice digitato nella textbox o - peggio - potrebbe generare gravi danni al database (distruzione totale compresa!) se un utente malintenzionato iniettasse codice sql malevolo (tipo "'; DROP TABLE ...; --")
Guardati gli articoli dello speciale sulla sicurezza, in particolare questo: http://www.aspitalia.com/articoli/asp.net2/aspnet-security-2.aspx
HTH

Matteo Casati
GURU4.net
RE: Errore di sintassi
massimo74rn non è online. Ultima attività: 02/12/2008 0.22.26massimo74rn
Inserito il: 14 ottobre 2008 13.30
68 messaggi dal 26 lug 2008 Istalla Microsoft Silverlight!
Ho inserito la funzione per l'apostrofo come qui sotto riportato, ma non ho risolto nulla, ho lanciato la stringa sql risultante con un msgbox e mi sembra perfetta.
Purtroppo non so usare i parametri, e per ora ho urgenza di finire questo progetto, poi sicuramente li studierò perchè li usavo con VB6 e erano utilisssimi. Ma secondo voi l'errore potrebbe essere nella dichiarazione:

Dim nx As String = CType(dl.Rows(x).FindControl("Note"), TextBox).Text




Dim tx As String = CType(dl.Rows(x).FindControl("Giorni"), TextBox).Text, c As Integer = 0

Dim nx As String = CType(dl.Rows(x).FindControl("Note"), TextBox).Text

sql = "INSERT INTO IndennitàCOL " & _
                        "(IDNominativo,IDGrado,IDGruppo,IDMese,IDAnno,Giorni," & _
                        "Note,DataInvioLOCAL,Autorizza) " & _
                        "VALUES (" & .Item("IDAnagrafica") & "," & _
                        "" & .Item("IDGrado") & "," & _
                        "" & .Item("IDGruppo") & "," & _
                        "" & IDMese & "," & _
                        "" & Anno & "," & _
                        "" & tx & ",'" & _
                        "" & fApici(nx) & "','" & _
                        "" & "111120082338" & "'," & _
                        "" & False & ")"



    Function fApici(ByVal stringa)
        fApici = replace(stringa, "'", "''")
    End Function

www.rimini-incontri.com
RE: Errore di sintassi
m.casati non è online. Ultima attività: 03/12/2008 19.11.28m.casati
Inserito il: 14 ottobre 2008 14.11
contributi / Top Poster / Community manager / www.guru4.net / Blog / 2394 messaggi dal 13 giu 2001 Istalla Microsoft Silverlight!
massimo74rn ha scritto:
ho lanciato la stringa sql risultante con un msgbox e mi sembra perfetta.

Possiamo vederla? I tipi (stringhe, nuemrici, ecc.) sono rispettati tra istruzione e dichiarazione dei campi nel db?

Matteo Casati
GURU4.net
RE: Errore di sintassi
massimo74rn non è online. Ultima attività: 02/12/2008 0.22.26massimo74rn
Inserito il: 14 ottobre 2008 14.23
68 messaggi dal 26 lug 2008 Istalla Microsoft Silverlight!
Ragazzi, volevo dirvi che dopo 2 giorni di rompicapo ho risolto il problema.
Penso che 'Note' sia una parola riservata del db access, infatti è stato sufficente scriverla tra parentesi quadre. Grazie mille a tutti.

www.rimini-incontri.com

Vai a:
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.


PeppeDotNet - 1000 pt
gghi - 310 pt
fabrica - 50 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums