Sub Aggiorna(ByVal Elemento As Lista)
Dim sql As String
Dim cn As New OleDb.OleDbConnection(StringaConn)
cn.Open()
If Not EsisteCommessa(Elemento.Commessa) Then
'definisco l'istruzione sql
sql = "INSERT INTO ListaTestata (Commessa,N_Doc) VALUES (@Commessa,@N_Doc)"
Else
sql = "UPDATE ListaTestata SET N_Doc=@N_Doc WHERE Commessa=@Commessa"
End If
Dim cmd As New OleDb.OleDbCommand(sql, cn)
cmd.Parameters.Add("@Commessa", Elemento.Commessa)
cmd.Parameters.Add("@N_Doc", Elemento.N_Documento)
Dim i As Integer
i = cmd.ExecuteNonQuery()
cn.Close()
End Sub

La precedente routine funziona correttamente per l'insrimento, ma non funziona con l'aggiornamento. Non mi da nessuno errore solo che se vado a vedere nel db vedo che non ho aggiornato un bel nulla. Se alla query sostuisco
sql = "UPDATE ListaTestata SET N_Doc=@N_Doc WHERE Commessa='" & Elemento.Commessa & "'"
tutto funziona....sembra un problema sull'utilizzo dei parametri...sapete dirmi dove sbaglio???
Grazie