Insert

lunedì 08 maggio 2006 - 19.29

maxsub71 Profilo | Newbie

Buonasera a tutti oggi stavo scrivendo una semplicissima insert :


Private Sub butAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butAdd.Click

Dim STR_INSERT As String
Atleti.Open()
STR_INSERT = "INSERT INTO Atleti (Nome,Cognome,Citta,Annonascita,Mail,User,Password) VALUES ('" & TxtNome.Text & "','" & TxtCognome.Text & "','" & TxtCitta.Text & "'," & Txtnascita.Text & ",'" & Txtmail.Text & "','" & TxtUser.Text & "','" & TxtPassword.Text & "')"
Dim CMD As New OleDbCommand(STR_INSERT, Atleti)
CMD.ExecuteScalar()
Atleti.Close()

End Sub

ma mi continua a dare il seguente errore :


Errore server nell'applicazione '/miosito'.
--------------------------------------------------------------------------------

Errore di sintassi nell'istruzione INSERT INTO.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.Data.OleDb.OleDbException: Errore di sintassi nell'istruzione INSERT INTO.

Errore nel codice sorgente:


Riga 148: STR_INSERT = "INSERT INTO Atleti (Nome,Cognome,Citta,Annonascita,Mail,User,Password) VALUES ('" & TxtNome.Text & "','" & TxtCognome.Text & "','" & TxtCitta.Text & "'," & Txtnascita.Text & ",'" & Txtmail.Text & "','" & TxtUser.Text & "','" & TxtPassword.Text & "')"
Riga 149: Dim CMD As New OleDbCommand(STR_INSERT, Atleti)
Riga 150: CMD.ExecuteScalar()
Riga 151: Atleti.Close()
Riga 152:


Io non riesco a capire l'errore o ricontrollato e ricontrollato la tabella e i nomi dei campi e mi sembra tutto corretto, a qualcuno è gia capitato il problema


Grazie in anticipo per tutto

Massimiliano



max

micto27 Profilo | Senior Member

Se utilizzi CMD.ExecuteNonQuery anzichè CMD.ExecuteScalar hai lo stesso errore?

Su che database stai eseguendo la INSERT?

Ciao, Michele

maxsub71 Profilo | Newbie

L'errore è lo stesso anche nell'altro caso.
Il db su cui faccio le prove è un db Access
max

micto27 Profilo | Senior Member

Ciao,
credo di aver capito:
lo statement cita le colonne User e Password che sono nomi "particolari", prova
a racchiuderli fra parentesi quadre

insert into Atleti (aaa, bbb, ccc, ....., [User], [Password]) ......

Michele

totti240282 Profilo | Guru

si infatti ricontrolla bene il comando sql che sicuramente c'è qualcosa di sbagliato..se non sono i campi forse qualche apice o altro.
C'è solo un capitano !!!!!!
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