![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
> それは「レコードの移動を検出して」ということなんでしょうか。
そうです。
dataTable_RowChangedイベントで行の移動が検知可能そうです。
自前で実装するとテキトーですが、以下のようになると思います。
private void button1_Click(object sender, EventArgs e)
{
// DBから取得したと仮定
var dt = new DataTable();
var c = new DataColumn("column1");
dt.Columns.Add(c);
c = new DataColumn("column2");
dt.Columns.Add(c);
var r = dt.NewRow();
r["column1"] = "1-1";
r["column2"] = "1-2";
dt.Rows.Add(r);
r = dt.NewRow();
r["column1"] = "2-1";
r["column2"] = "2-2";
dt.Rows.Add(r);
// DBに応じたTableAdapterと紐づけ
// BindingSourceと紐づけ
var bs = new BindingSource();
bs.DataSource = dt;
dataGridView1.DataSource = bs;
// 行変更イベントの設定
dt.RowChanged += dt_RowChanged;
}
void dt_RowChanged(object sender, DataRowChangeEventArgs e)
{
Console.WriteLine("行の値が変更された");
// ここでTableAdapterでUpdateを行う
}
また、そんなことせずとも、データソースを登録しておいて、データソースを画面上へ貼りつけることにより、ほぼ動作するスケルトンが出来上がります。
それに対して、RowChangedイベントでもデータ更新するような実装を加えてしまえば、ご希望の動作をするのではないでしょうか。
大分古い、かつVB.NETですが、以下記事が参考になると思います。
http://www.atmarkit.co.jp/fdotnet/vblab/vb2005m_ …
http://www.atmarkit.co.jp/fdotnet/vblab/vb2005m_ …
データベースエンジンの違いは関係ありません。
勝手に違いを吸収してテーブル更新を行ってくれます。
具体的なクエリの発行内容が分からないや、何やってるかわからないなどの理由で嫌う人もいますが、好き嫌いなど度外視して構わないほどあっさり動作してくれますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Access(アクセス) Accessのデータ型の日付/時刻型について 1 2023/04/02 17:03
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
2つの項目が重複するレコード...
-
ACCESSのBookmarkプロパティの...
-
3つ以上のテーブルをUNIONする...
-
Accessでの排他制御
-
数百万件レコードのdelete
-
Access 削除クエリが重い
-
C# Windows Forms で、Accessみ...
-
一部重複しているレコードの削除
-
Access 1レコードずつcsvで出力...
-
SQLServerで同一条件レコードの...
-
Access カレントレコードがあり...
-
非連結サブフォームのレコード...
-
ACCESS 『DoCmd.OutputTo』に...
-
ACCESSファイルを開こうとする...
-
(ACCESS)並び替えをしないで...
-
Access VBA Me.Requery レコー...
-
Accessでの禁止文字チェック
-
DB INSERT 時の排他制御について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
2つの項目が重複するレコード...
-
3つ以上のテーブルをUNIONする...
-
数百万件レコードのdelete
-
Access VBA Me.Requery レコー...
-
非連結サブフォームのレコード...
-
Access 削除クエリが重い
-
ACCESSのBookmarkプロパティの...
-
Access 1レコードずつcsvで出力...
-
ManagementStudioからのデータ削除
-
Accessの重複クエリで最小以外...
-
Accessでの排他制御
-
Accessで重複したデータを一件...
-
(ACCESS)並び替えをしないで...
-
フォームからのレコード削除に...
-
SQLServerで同一条件レコードの...
-
Accessでの禁止文字チェック
-
Accessでレコードが更新された...
-
テーブルのレコード削除ができ...
おすすめ情報
ありがとうございます。それは「レコードの移動を検出して」ということなんでしょうか。