最初にデータテーブルにデータを入力したとき、次のようなコードで MySqlDataAdapter というオブジェクトのインスタンスを使用しました
string query = "SELECT * FROM yourTableName";
MySqlDataAdapter adapter = new MySqlDataAdapter(query, connString);
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
DataTable dt = new DataTable();
adapter.Fill(dt);
BindingSource bs = new BindingSource();
bs.DataSource = dt;
dgview.DataSource = bs;
ここで、データグリッドを変更して行を変更、追加、または削除すると、データグリッドに加えたすべての変更が基になるデータ ソース (データ テーブル) に反映されます。データベースのレコードを更新する場合は、その MySqlDataAdapter を維持する必要があります。 (フォーム内のグローバル変数として) 必要なときにアダプター インスタンスの Update メソッドを呼び出すだけです。
BindingSource bs = dgview.DataSource As BindingSource;
adapter.Update(bs.DataSource as DataTable);
この呼び出しは、MySqlCommandBuilder によって作成された MySqlCommand クラスのインスタンスを使用して、データベースを更新します (MySqlCommandBuilder は、1 つのテーブルのみを含む選択クエリでのみ機能することに注意してください。結合は許可されません)。