|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2011
Messaggi: 4
|
[VB .NET e access] problema con update di un record
salve ragazzi, spero possiate darmi un mano. sto impostando la seguente stringa di update:
Public Shared updateString As String = "UPDATE Company SET compFullName = @NAME, compPhoneNumber = @PHONE1, compPhoneNumber1 = @PHONE2, compFaxNumber = @FAX, compEmail1 = @MAIL1, compEmail2 = @MAIL2, compWebAddress = @WEB, idContact = @IDCONTACT, compEmailContacted = @MAILYESNO, compTelContacted = @PHONEYESNO, compNotes = @NOTES, compCreationDate = @CREATED, compLastModified = @MODIFIED WHERE idCompany = @ID" Costruisco tutti i parametri richiesti, con i tipi corretti e li inserisco in una list(of oledbparameter) che passo ad un metodo shared che li aggiunge alla collection di un oledbcommand.parameters... tutto và come deve andare (è giusto x rendere l'idea) col debugger ho controllato tutto, i parametri e i valori sono giusti. eseguo su tale oledbcommand una ExecuteNonQuery che (porco zio) mi ritorna SEMPRE 0!!!! la funzione che esegue la query è questa: Public Shared Function ExecuteNonQuery(ByVal query As String, Optional ByVal params As List(Of OleDb.OleDbParameter) = Nothing) As Integer Dim q As OleDb.OleDbCommand Dim ret As Integer = 0 Try q = New OleDb.OleDbCommand(query, mConnection) 'mConnection è un campo privato della classe in cui si trova il metodo If params IsNot Nothing Then If params.Count <> 0 Then For Each p As OleDb.OleDbParameter In params q.Parameters.Add(p) Next End If End If mConnection.Open() ret = q.ExecuteNonQuery mConnection.Close() dovrebbe andare, dato che non va, o sto sbagliando qualcosa di macroscopico che non riesco a vedere, oppure c'entra il motore db di access..... in effetti se eseguo la stessa query all'interno di access mi dice che non può essere eseguita per violazione di chiave (ovviamente la chiave che inserisco nella clausola WHERE è corretta) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:51.



















