Update Dataset con parametri

mercoledì 07 settembre 2011 - 09.24
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010

luka82 Profilo | Junior Member

Ho una DataGridView collegata ad un Dataset, al momento del salvataggio richiamo la DataAdapter1.Update(dataset1) in modo da salvare nel Database le modifiche effettuate nella DG.
Il problema nasce quando carico dei dati nella DG con query parametrica(esempio SELECT * FROM Tabella1 WHERE Codice=@Codice), in questo caso la DataAdapter1.Update(dataset1) mi restituisce: "Il metodo OledbCommand.Prepare richiede l'impostazione esplicita del tipo per tutti i parametri", eppure per visualizzare nella DG imposto esplicitamente il parametro con:
CmdTmp.Parameters.AddWithValue("@Codice", TipoCampo).Value = ValoreCampo

Cosa mi manca?

Cteniza Profilo | Guru

Di solito c'è una fase di generazione del dataadapter con impostazione dei 4 command (select, insert, update, delete).
In ogni caso tu devi impostare il comando commandselect con la connectionstring e la query sql di select.
Questo è sufficiente per utilizzare il comando fill del dataadapter
per avere invece l'update del dataadapter devi popolare anche gli altri comandi.
puoi definire uno per uno i tuoi comandi di insert delete e update (mettendo per ciascuno la connessione e la stringa) oppure ad esempio "dare in pasto" il dataadapter al commandbuilder.
Dim cm As New CommandBuilder(mydataadapter) (potrebbe essere OleDbCommandbuilder)
e/o utilizzare il metodo getupdatecommand del commandbuilder così come getinsertcommande getdeletecommand

luka82 Profilo | Junior Member

Avevo già trovato una soluzione, solo che non potevo autorispondermi al post, così funziona:
CmdTmp.Parameters.Add("@Campo1", TipoCampo, 255).Value = Codice1
dovevo "semplicemente" impostare il tipoCampo e la lunghezza, mentre prima utilizzavo AddWithValue che non consente l'inserimento di tali dati.
Grazie, alla prossima
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5