| | タイトル | : DataGridView上からデータベースを変更する方法 |  | 記事No | : 9718 |  | 投稿日 | : 2009/12/15(Tue) 14:18 |  | 投稿者 | : 水の都 | 
 Microsoft Visual Studio 2005 SQL SERVER 2008 環境です
 DataGridViewで変更した内容をDBに反映したい。
 If dRow.RowState <> DataRowState.Unchanged Then で変更した
 内容は判定できているようなのですが、DBに反映してくれません
 ご教授お願いします
 
 Private dataset As New DataSet()
 Private olecn As New OleDb.OleDbConnection()
 Private adapter As New OleDb.OleDbDataAdapter()
 Private SQLDA As SqlClient.SqlDataAdapter
 
 Private Sub FORM1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
 GRID_DATA("SELECT * FROM D_MAI")
 
 End Sub
 
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
 Dim MESSAGE As String
 Dim RESULT As Integer
 
 MESSAGE = "修正した内容を更新しますか?"
 'メッセージボックス
 RESULT = MsgBox(Message, MsgBoxStyle.YesNo Or MsgBoxStyle.Exclamation)
 
 If RESULT = vbYes Then
 
 Dim dTbl As DataTable
 Dim dRow As DataRow
 
 'DataGridからデータソースを取得する
 dTbl = Me.DataGridView1.DataSource
 
 '編集された行をコミットする
 For Each dRow In dTbl.Rows
 
 If dRow.RowState <> DataRowState.Unchanged Then
 
 
 'Adapterの処理 ↓ ↓ ↓ ↓ ↓ ↓
 dRow.AcceptChanges()
 adapter.Update(dataset.Tables("SOURCE"))
 
 End If
 Next
 End If
 
 End Sub
 
 Private Sub GRID_DATA(ByVal SQL As String)
 
 Dim strConnectSQL As String
 Dim strSQL As String
 strConnectSQL ="接続設定"
 'SQL構文を指定します。
 strSQL = SQL
 
 Try
 '接続の設定を行います。
 SQLDA = New SqlClient.SqlDataAdapter(strSQL, strConnectSQL)
 
 'データセットに格納します。
 SQLDA.Fill(dataset, "SOURCE")
 
 'データグリッドビューのデータソースを設定
 DataGridView1.DataSource = dataset.Tables("SOURCE")
 
 Catch ex As Exception
 MessageBox.Show(ex.Message)
 End Try
 
 End Sub
 
 |