• ベストアンサー

DataGridViewの内容をDBに反映する時

VB2005で開発をしています、DataGridViewの事について質問させていただきます。 DataGridViewに入力されたデータを、登録ボタン押下によってDBに反映したいのですが、 この際どのようにDBへ登録すれば効率がいいでしょうか? 今は、DataGridViewの1行目を読み込んでDBに登録、 2行目を登録・・・・最終行を登録という感じで、1行ずつ登録を行おうかと考えています。 よろしければご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1行ずつDBに反映させるという考え方で良いのではないかと思います。 SQLのINSERT文は1レコードずつ追加するものですし、UPDATE文も1レコードずつ更新していくことが多いです。 DataGridViewに表示されているデータがDBから持ってきたものならば、 RowStateを見て、Addedなら追加、Modifiedなら更新となるでしょう。 「VB RowState」で検索すれば、詳しいことがわかると思います。 以前回答した、 http://oshiete1.goo.ne.jp/qa3353066.html も参考になるかもしれません。

taki_kk
質問者

お礼

回答ありがとうございます。 For~NEXTでループさせて DataGridViewの1行目から最終行までのデータを更新&登録したいと思います。 また。 RowStateは知りませんでした。 今は、DataGridViewに新しく追加されたデータなのかはフラグを持たせて判断しているので、RowStateはすごく便利そうですw 今後勉強して、使ってみたいと思います。 DataTableなどでデータを編集してDataTable(DataSetかも)ごと更新できたような気がしましたので、気になったしだいです。 この度はご回答ありがとうございます。

その他の回答 (1)

回答No.2

ANo. 1 です。 ふと思い出したので補足です。 http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_ADO.html に VC++ で ADO を使用して DB にアクセスする方法が記述されています。 ここには、RecordSet に行った変更を一括して DB に更新する方法が書か れています。 私はここのページのコードを参考にして VC++ で MDB を一括して更新する プログラムを書きました。 上記のページは VC++ についてのものですが、要は ADO を使えば良いと いうことなのでしょうから、「ADO VB」などで検索してみるとわかるの ではないでしょうか。 http://www.accessclub.jp/ado/08.html あたりがその答えになるのかもしれません。