タイトル | : 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
|