データベース(MDBファイル)関連:DataGridViewのデータが追加されたかどうかチェックするVB2008で表形式で表示させたMDBファイルにデータが追加されたかどうか調べる実行例サンプルです。データベース(MDBファイル)関連へ行が新規追加されたかどうか調べるには、RowState と DataRowState列挙体を使います。 RowState が DataRowState.Added ならば追加されています。 追加されたデータは、Row( 列名 ) で取得できます。 追加前のDataGridView DataGridView上で、*印の行に移動しデータを新規入力後、「追加行のチェック」ボタンをクリックした画面です。 福岡間、長崎県を追加しています。 その結果が下のテキストボックスに表示されています。 ■ 実行コード Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim CnString As String Dim UserID As String = "Admin" Dim Password As String = "" Dim SQL As String Dim sfina As String = "C:\sample1.mdb" Dim DaAdap As OleDb.OleDbDataAdapter Dim Tbl As New DataTable() Dim Bds As New BindingSource CnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sfina & ";" CnString = CnString & "User ID=" & UserID & ";" CnString = CnString & "Jet OLEDB:Database Password=" & Password '全フィールドの表示 SQL = "SELECT Field1 FROM table1" 'データアダプターの作成 DaAdap = New System.Data.OleDb.OleDbDataAdapter(SQL, CnString) 'データを読む DaAdap.Fill(Tbl) 'データグリッドに表示 Bds.DataSource = Tbl DataGridView1.DataSource = Bds End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim tbs As BindingSource = DirectCast(DataGridView1.DataSource, BindingSource) Dim ttbl As DataTable = DirectCast(tbs.DataSource, DataTable) Dim ValNew As String TextBox1.Text = "" For Each Row As DataRow In ttbl.Rows 'レコードが追加されているかチェック If Row.RowState = DataRowState.Added Then ValNew = Row("Field1") TextBox1.Text = TextBox1.Text & "追加データ:" & ValNew & vbNewLine End If Next End Sub End Class Visual Basic 2008 Express Edition実践入門 |