C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 21 を表示中)
■8996 / )  リストボックスの全アイテムをテーブルと差分を取り更新
□投稿者/ みこ (12回)-(2007/10/16(Tue) 02:40:48)

分類:[C#] 

いつも教えていただきありがとうございます。

C#で開発しています。 環境はVS2005、Access2007(mdb)、Windows XPです。

DBには複数のテーブルがあり、1つは全商品リスト、残りは店舗別商品リスト(店舗ごとに1テーブル)です。
Windows Formに2つのlistboxを用意し、
 ■片方には店舗別商品リストのデータ(1テーブル分)をすべて表示、
 ■もう一つには全リストと表示した店舗別商品リストの差分をselectコマンドでDataSetに取り込み、それを表示しています。

この状態からlistboxの内容を操作し(相互に移動可能とし)、その結果を店舗別商品リストに追加・削除したいのですが、listboxの内容の保存についてのやり方がわかりません。

一旦テーブルの内容を削除し全部追加することも考えたのですが、当画面で商品リストを編集後、各レコードにデータを追加するため、もともとあるレコードはそのままで、差分だけを更新(追加/削除)したいのです。
更新するのは店舗別商品リストだけで、全リストはそのままです。
listboxの内容を操作した結果をDBに保存したいのでdatasetの内容ではありません。

listboxに設定したValueMemberとDisplayMemberの2項目がDBに追加できれば問題ありません。
追加は、効率が悪いかも知れませんが1件ずつ取得してテーブルから一致する項目を探してなければ追加でいけるかもしれませんが、これだとDisplayMemberしか取得する方法がわからないのと、リストから外されたものの削除ができません。

わかりづらい説明で申し訳ありませんが、よろしくお願いします。

返信 編集キー/


管理者用

- Child Tree -