- - PR -
DataGridViewの内容をデータベースへ反映
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-10-03 14:29
何度も投稿申し訳ありません…
言語:Microsoft Visual Studio 2008 データベース:SQL Server 2005 非接続型のデータアクセスです。 先日、DataGridViewの内容をデータベースへ反映できない件について質問させていただきましたが 解決できていないため、再度別の方法を考え投稿させていただきました。 <質問> DataGridViewと更新ボタンを作成し、更新ボタン押下時にDataGridViewの内容をテーブルに反映したいのですが DataGridViewからDatasetをどうやって取り出すのかがわからずにいます。 Datasetが取り出せれば、データを1件づつ読みDataRow オブジェクトの RowStateプロパティで判断して 更新処理ができないかと考えています。 申し訳ないですがDataGridViewの更新方法がわかる方がいらっしゃいましたらご教授お願いします。 ↓考えているコード Private Sub BTN_更新_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_更新.Click Try 'DB接続 '<Datasetの呼び出し> DatasetのLOOP処理 Select Case Row.RowState Case DataRowState.Added ▼新規追加されたレコードの場合 :Insert文実行 Case DataRowState.Deleted ▼削除されたレコードの場合 :Update文実行 Case DataRowState.Modified ▼修正されたレコードの場合 :Delete文実行 Case Else End Select LOOP MessageBox.Show("更新に成功しました。") Catch oExcept As Exception '例外が発生した時の処理 Finally 'DB切断 End Try End Sub | ||||||||
|
投稿日時: 2008-10-03 14:48
参考になりませんか?
DataGridViewコントロールを操作する101の方法の「変更を保存する」 | ||||||||
|
投稿日時: 2008-10-03 16:02
For Each I As DataGridViewRow In dgrview.Rows
でDatasetを読むことができたのですが、☆のところで 名前 'row' は宣言されていません。 とエラーになります。 簡単なことで申し訳ありませんが、どういうふうに宣言するのですか? For Each I As DataGridViewRow In dgrview.Rows 'SQL文の生成 Select Case row.RowState←☆ Case DataRowState.Added '追加 Case DataRowState.Deleted '削除 Case DataRowState.Modified '変更 Case Else End Select Next | ||||||||
|
投稿日時: 2008-10-03 16:38
質問内容を明確にするため教えてください。
というのは、
あと、
とありますが、 DataSet は取得できていないと思います。 DataGridView の行を1行ずつ取得出来ているだけです。 | ||||||||
|
投稿日時: 2008-10-03 16:51
「変数の宣言」をこの言語でどの様に記述すれば良いかわからない。です。
| ||||||||
|
投稿日時: 2008-10-03 17:06
下記のページの「変数の宣言」が回答になるでしょうか。
http://msdn.microsoft.com/ja-jp/library/9kc1d337.aspx | ||||||||
|
投稿日時: 2008-10-03 17:24
うーん、根本的に理解されていないように見受けられますねぇ こことか見てみては? グリッド自体に値を入力して更新 | ||||||||
|
投稿日時: 2008-10-03 17:24
すみません。本当に最近vbを勉強し始めたばかりでサンプルがないと なかなか前に進めないのが現状です。 自分なりに色々調べたつもりなのですが、もう少し調べてみたいと思います。 |
1|2|3
次のページへ»