codice:
'apro la connessione
Dim Path As String = DB_Folder & "\mydbbase.mdb"
Dim DBconn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Path)
DBconn.Open()
Dim da As New OleDbDataAdapter("Select * From HH", DBconn)
Dim ds As New DataSet
Dim dt As New DataTable
da.Fill(ds, "HH")
dt = ds.Tables("HH")
'devo dichiararla o il metodo Find non funziona
dt.PrimaryKey = New DataColumn() {dt.Columns("Nome")}
Dim FoundRow As DataRow
FoundRow = dt.Rows.Find(MyName)
FoundRow.BeginEdit()
FoundRow(1)= "Pippo"
FoundRow(2)= "Pluto"
FoundRow(6)= "Paperino"
FoundRow.EndEdit()
FoundRow.AcceptChanges() 'non cambia nulla se lo tolgo
dt.AcceptChanges() 'non cambia nulla se lo tolgo
ds.AcceptChanges() 'non cambia nulla se lo tolgo
Dim DBcommand As New OleDbCommandBuilder(da)
da.Update(dt)
'da.Update(ds) 'non cambia nulla
'da.Update(ds, "HH") 'non cambia nulla
Il codice, inserito in Try... Catch non genera nessuna eccezione.
Se inserisco dei blocchi nel codice e controllo dt e ds vedo che la tabella è regolarmente cambiata coi nuovi valori assegnati... ma se vado poi a vedere con Access il DB... non è cambiato.
Dove sbaglio?