OdbcDataReaderオブジェクトを使用して、前方向スクロール読み取り専用でデータ参照するサンプルコードについて説明します。
OdbcDataReaderオブジェクトでの参照方法では、参照レコードの取り出し方向はNEXTだけでカーソル位置づけによるデータ更新はできません。
本サンプルコードは、取得データをメッセージボックスで表示します。
アプリケーションの手順
OdbcConnectionオブジェクトでコネクションを接続します。詳細は、“C.5.1 接続および切断”を参照してください。
OdbcCommandオブジェクトを生成します。
(CommandTextプロパティへSELECT文を設定します)
OdbcCommand.ExecuteReaderメソッドでOdbcDataReaderオブジェクトを生成します。
OdbcDataReaderオブジェクトよりデータを取得します。
OdbcDataReader.Readメソッドで次の行へ位置づけます。
OdbcDataReader.FieldCountプロパティで列数を取得します。
OdbcDataReader.GetValueメソッドでデータを取得します。
OdbcDataReader.CloseメソッドでOdbcDataReaderオブジェクトを閉じます。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“C.5.10 エラー処理”を参照してください。
'オブジェクト宣言
Dim con As Microsoft.Data.Odbc.OdbcConnection
Dim com As Microsoft.Data.Odbc.OdbcCommand
Dim drd As Microsoft.Data.Odbc.OdbcDataReader
Dim i As Integer
Dim msgstr As String
'OdbcConnectionオブジェクトの生成
con = New Microsoft.Data.Odbc.OdbcConnection("DSN=DSN01;UID=USER01;PWD=PASS01")
Try
'1. コネクション接続
con.Open()
'2. OdbcCommandオブジェクトの生成
com = New Microsoft.Data.Odbc.OdbcCommand("SELECT * FROM TESTTBL", con)
'3. OdbcDataReaderオブジェクトの生成
drd = com.ExecuteReader
'4. データの取得
'行の位置づけ
While drd.Read()
'データ取得文字列の初期化
msgstr = ""
'列数の取得
For i = 0 To drd.FieldCount - 1
'データの取得
msgstr &= drd.GetValue(i) & " "
Next
'メッセージボックス出力
MessageBox.Show(msgstr, "DataReader", MessageBoxButtons.OK, _
MessageBoxIcon.None)
End While
'5.OdbcDataReaderオブジェクトを閉じる
drd.Close()
'6.コネクション切断
con.Close()
'7.オブジェクトの破棄
con.Dispose()
com.Dispose()
'エラー処理
Catch ex As Microsoft.Data.Odbc.OdbcException
'エラー処理ルーチンを記述
End Try