table = New DataTable() 'DataAdapter は、実データベースと DataTable とを中継するクラスです adp = New MySqlDataAdapter("SELECT … FROM …", conn) 'CommandBuilder に DataAdapter を渡すと、SELECT の情報を元にして、 '対応する INSERT/UPDATE/DELETE コマンドが自動生成されます Dim cb As New MySqlCommandBuilder(adp) 'DataTable にデータが取り込まれます。(全ての行が Unchanged な状態) adp.Fill(table) DataGridView1.DataSource = table
'DataTable の各行の Added/Modified/Deleted 状態を元に、 'INSERT/UPDATE/DELETE コマンドに渡され、MySQL 上に一括反映されます adp.Update(table) 'AcceptChanges メソッドを呼び出して、更新完了を DataTable 側に反映させます。 'これにより、すべての行が Unchanged な状態と戻ります。 '(Added/Modified だった行は Unchanged となります) '(Deleted だった行は DataTable から Remove されます) table.AcceptChanges()