Ci sono sostanzialmente 2 modi per popolare da codice un dataadapter.
Il primo è automatico
codice:
Dim myConnection As New OleDbConnection("stringa connessione")
'Definisci un nuovo oggetto di tipo dataadapter
Dim da As New OledbDataAdapter("SELECT * FROM mytable",myconnection)
'Popoli i 4 command del dataadapter tramite un CommandBuilder a cui passi il dataadapter
Dim cm As New OleDbCommandBuilder(da)
A questo punto siamo pronti per tutti i comandi sul dataset tra cui fill e update
Metodo 2
codice:
Dim myConnection As New OleDbConnection("stringa connessione")
'Definisci un nuovo oggetto di tipo dataadapter
Dim da As New OledbDataAdapter("SELECT * FROM mytable",myconnection)
A questo punto tramite codice inserisci tutti i command e i relativi parametri
Dim cm As New OleDbCommand("UPDATE ...",myconnection)
cm.Parameters.Add(new oledbparameter ...)
cm.Parameters.Add(new oledbparameter ..)
..
da.UpdateCommand = cm
[/code]
Da ripetere per INSERT DELETE E UPDATE (SELECT non serve se l'hai definito durante la creazioone).
dopo aver popolato il dataset/datatable puoi passare a inserire / variare / cancellare datarows (collection del datatable), il dataset "conserva" la memoria delle righe che sono state inserite / variate modificate
Tramite il metodo UPDATE del dataadapter ottieni che (se hai lavorato bene) il database sia aggiornato con le rows e i dati aggiornati (le righe unchanged non vengono toccate).
La cosa più importante per ottenere l'aggiornamento del database è che NON bisogna dare il comando "acceptchanges" perchè questo comando dice in parole povere "imposta lo stato delle righe come unchanged perchè non voglio aggiornare il database"