タイトル : DataGridView上からデータベースを変更する方法 投稿日 : 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 |