Semplice query con un SQL UPDATE

sabato 24 novembre 2007 - 23.26

bluland Profilo | Guru

salve,

ecco il codice che uso per effettuare l'update:


Dim a As String = "UPDATE Clienti SET Clienti.Telefono = @Telefono " & _ "WHERE (((Clienti.codCliente)= @cod)) " Dim cmd As New OleDbCommand(a, connect) cmd.Parameters.Add("@cod", OleDbType.VarChar).Value = codice cmd.Parameters.Add("@Telefono", OleDbType.VarChar).Value = telefono If Me.connect.State = ConnectionState.Open Then Me.connect.Close() End If Me.connect.Open() I = cmd.ExecuteNonQuery()

beh non accade niente, eppure quando faccio le select ed insert i parametri li passo allo stesso modo dove sbaglio? c'è qualcosa di diverso nell'UPDATE con ACCESS 2003,
se provo la query cosi funziona:
Dim a As String = "UPDATE Clienti SET Clienti.Telefono = '3203393292' " & _
"WHERE (((Clienti.codCliente)= @cod)) "

idee ?

saluti


EDIT:
A questo link c'è la risposta:
http://www.dotnet2themax.it/ShowContent.aspx?ID=a9bc879f-7d1a-430d-bc23-ece847a9c2ee

ecco cosa accade quando si cambia provider
--------------------
Vincenzo PESANTE
System Engineer

SSUPERPIPPO Profilo | Guru

Molto interessante!
Io ho sempre utilizzato SQL Server per cui non sono mai incappato in questa problematica... buono a sapersi.

Grazie


http://blogs.dotnethell.it/alebadalin

StefanoLep Profilo | Senior Member

Ciao, i parametri li devi passare nello stesso ordine della query perchè il provider OleDB accetta i parametri nell'ordine in cui li passi, invertendo l'ordine dei parametri dovrebbe funzionare:

Dim a As String = "UPDATE Clienti SET Clienti.Telefono = @Telefono " & _
"WHERE (((Clienti.codCliente)= @cod)) "

Dim cmd As New OleDbCommand(a, connect)

cmd.Parameters.Add("@Telefono", OleDbType.VarChar).Value = telefono

cmd.Parameters.Add("@cod", OleDbType.VarChar).Value = codice

If Me.connect.State = ConnectionState.Open Then
Me.connect.Close()
End If

Me.connect.Open()

I = cmd.ExecuteNonQuery()

così dovrebbe funzionare :-)


E' la passione che genera il progresso :-)

bluland Profilo | Guru

SI infatti anche io ho sempre usato SQL,

Ciao
--------------------
Vincenzo PESANTE
System Engineer

StefanoLep Profilo | Senior Member

...Non avevo letto la parte finale del post....
E' la passione che genera il progresso :-)
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