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 e Access] problema con l'Update di un record
domenica 10 aprile 2011 - 21.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
|
Access (.mdb)
NeXuS26
Profilo
| Newbie
1
messaggi | Data Invio:
dom 10 apr 2011 - 21:19
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 command (oledbcommand.parameters)... tutto và dove 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, è parte di un helper (DBHelper.ExecuteNonQuery):
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()
etc...etc...
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..... (e ti pareva) ho sentito che bisogna inserirli in ordine i parametri da passare al oledbcommand, ma io lo faccio.. per cui il problema non può essere quello.
ho provato ad utilizzare la stessa funzione (dbhelper.executenonquery) scrivendomi la stringa di update a manina e non passando la lista di parametri, in questo modo funziona, quindi c'è qualcosa che non và nei parametri (ma nel debugger sono tutti giusti!!!), sono sicuro che sia access il colpevole, c'è da adottare qualche metodo particolare??
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 !