New OleDbDataAdapter(SQL文, ocn)
DataSetオブジェクトにレコード内容を取得するにはOleDbDataAdapterオブジェクトのFillメソッドを使う
OleDbAdapterオブジェクト.Fill(レコード内容の保管先のDataSetオブジェクト,
DataSetオブジェクトのテーブル名)
Dim dSet As DataSet = New DataSet("t_x")
Dim dAdp As OleDbDataAdapter
dAdp = New OleDbAdapter("SELECT * FROM テスト",ocn)
dAdp.Fill( dSet, "t_x" )
--------------------------------------------------------------
DataSetオブジェクト = データベース
DataTableオブジェクト = テーブル
DataRowオブジェクト = レコード
--------------------------------------------------------------
DataSetオブジェクトはデータベースに似た構造を持ち
データベースに非接続のキャッシュです。
DataTableオブジェクトがデータベースのテーブルに対応する
DataSet > DataTable > Rows
レコードの内容はDataSetオブジェクトに取得して操作を行うことができる
DataSetオブジェクトにレコードの内容を取得するにはOleDbDataAdapterオブジェクトの
Fillメソッドを使う
Fillメソッド 第1引数・・・レコードの内容を取得するDataSetオブジェクト
第2引数・・・テーブル名を指定
DataTableオブジェクトにはレコードの内容としてRowsプロパティが含まれています
したがって、DataSetオブジェクトに含まれるDataTableオブジェクトのRowsプロパティを
使ってレコード内容を参照することができる
Rowsプロパティ = レコード数
Columnsプロパティ = フィールド数
Dim i,j As Integer
Dim dSet As DataSet = New DataSet("t_テスト")
Dim dTbl As DataTable
Dim dAdp As OleDbDataAdapter
Dim ocn As OleDbConnection = New OleDbConnection
ocn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\***;" &
"Persisit Security Info=False"
dAdp = New OleDbDataAdapter("SELECT * FROM テスト" , ocn)
dAdp.Fill( dSet, "t_テスト")
dTbl = dSet.Tables("t_テスト")
For i = 0 To dTbl.Rows.Count() - 1
For j = 0 To dTbl.Columns.Count() - 1
Debug.write( dTbl.Rows(i)(j) & ControlChars.Tab )
Next
Debug.WriteLine("")
Next
----------------------------------------------------------------------------
データセットのデータを参照する
DataRowオブジェクトの集まりであるDataRowCollectionオブジェクトはRowsプロパティで取得できます
フィールドに対応するDataColumnオブジェクトも含まれています
DataColumnオブジェクトの集まりであるDataColumnCollectionオブジェクトはColumnsプロパティで取得できる
0 件のコメント:
コメントを投稿