Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
[VB.NET] System.Data.OleDb.OleDbException
martedì 07 ottobre 2003 - 15.04
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
naighes
Profilo
| Newbie
3
messaggi | Data Invio:
mar 7 ott 2003 - 15:04
Salve a tutti, sono nuovo! :-)
Sto tentando invano di effettuare una INSERT, come mostra il codice seguente:
code:--------------------------------------------------------------------------------
'Ricavo i valori
codice = CodiceArticolo.Text
descrizione = descrizioneArticolo.Text
unita = unitaMisuraArticolo.Text
note = noteArticolo.Text
prezzo = Cdbl(prezzoArticolo.Text)
ricarico = CInt(ricaricoArticolo.Text)
iva = CInt(ivaArticolo.Text)
'Definisco la stringa
Dim strSql As String
strSql = "INSERT INTO Articoli (Codice,Descrizione,Prezzo,Ricarico,Unit
aDiMisura,Iva,Note) VALUES ('" & codice & "', '" & descrizione & "', " & prezzo & ", " & ricarico & ", '" & unita & "', " & iva & ", '" & note & "')"
'E procedo con l'inserimento
objCn.Open()
Dim objCmd As New OleDbCommand(strSql, objCn)
objCmd.ExecuteNonQuery()
objCn.Close()
end code: --------------------------------------------------------------------------------
Mi viene restituito il seguente errore:
Eccezione non gestita di tipo "System.Data.OleDb.OleDbException" in system.data.dll
Solo che non mi viene riportata esattamente il tipo specifico di eccezione che è stata sollevata...
Mi disassembla il codice e mi fa vedere l'istruzione assembler incriminata!
Ma dico, come posso capire?
Qualcuno può delucidarmi?
Vi ringrazio anticipatamente.
Admin
Profilo
| Junior Member
160
messaggi | Data Invio:
mar 7 ott 2003 - 21:16
ciao, e benvenuto.
In questi casi, l'unico metodo infallibile è quello di fare una bella response.write della stringa sql generata, nel tuo caso:
response.write(strSql)
commentando magari il codice che esegue il comando, per evitare l'errore.
Quindi, prova a lanciare la query direttamente sul DB, e vedi se funziona.
Un errore molto frequente è dato dal fatto che nelle textbox vengono immessi degli apici, che vanno a fare casino poi nel concatenamento.
Per risolvere del tutto questo problema si dovrebbero usare i Parameters:
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbParameterClassTopic.asp?frame=true
Spero di aver risposto in maniera esauriente.
Ciao
Stefano Giannone [MCP .NET]
naighes
Profilo
| Newbie
3
messaggi | Data Invio:
mar 7 ott 2003 - 22:13
Vuoi sapere da cosa dipendeva?
Dal fatto che "Note" è un costrutto sintattico riservato di sql!
Roba da non credere.
Mi è bastato sostituire il campo del database "Note" in "Varie" e tutto ha cominciato a funzionare a meraviglia!
Ti ringrazio infinitamente per l'interessamento.
Alla prossima! :-)
Admin
Profilo
| Junior Member
160
messaggi | Data Invio:
mer 8 ott 2003 - 11:04
forse potevi anche lasciare "Note" come nome del campo... e riferirti ad esso da stringa Sql con "[Note]"
Cmq, se hai cambiato nome al campo... meglio così.
Ciao
Stefano Giannone [MCP .NET]
Torna su
Stanze Forum
Elenco Threads
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 !