Torna al Thread
Private Sub AggiornaDataSource()
'Questa sub abbiorna il DataBase con le modifiche apportate
Try
'Applico le modifiche al DataSet
objBindingSource.EndEdit()
'Dichiaro un oggetto CommandBuilder per generare i comandi sql
'necessari al DataAdapter per modificare il DataBase
Dim cmdBuild As New OleDbCommandBuilder(objDataAdapter)
'Ricavo il comando sql per l'inserimento di nuovi record
objDataAdapter.InsertCommand = cmdBuild.GetInsertCommand
'Ricavo il comando sql per l'eliminazione dei record
objDataAdapter.DeleteCommand = cmdBuild.GetDeleteCommand
'Ricavo il comando sql per la modifica dei record
objDataAdapter.UpdateCommand = cmdBuild.GetUpdateCommand
'Aggiorno il database
objDataAdapter.Update(objDataSet.Tables("Tabella"))
'Rendo effettive le modifiche anche sul DataSet
objDataSet.AcceptChanges()
Catch OleDbEx As OleDbException
'Avverto l'utente che è stata generata un'eccezione
MsgBox("Impossibile aggiornare il DataBase in quanto è stato generato un errore, probabilmente, perchè il DataBase è corrotto." & vbCrLf & vbCrLf _
& "Descrizione errore:" & vbCrLf _
& OleDbEx.Message, MsgBoxStyle.Critical, "Impossibile aggiornare il DataBase")
'Annullo le modifiche effettuate sul DataSet
objDataSet.RejectChanges()
Catch ex As Exception
'Mostro il messaggio dell'eccezione all'utente
MsgBox(ex.Message, MsgBoxStyle.Critical, "Errore")
'Annullo le modifiche apportate sul DataSet
objDataSet.RejectChanges()
Finally
'Disabilito i controlli adibiti alle modifiche del DataBase
Me.DisabilitaControlliModifiche()
'Abilito il DataGridView
Me.DataGridView.Enabled = True
'Abilito la toolstrip principale
Me.ToolStrip.Enabled = True
End Try
End Sub