OdbcDataReaderオブジェクトを使用して、前方向スクロール読み取り専用でデータ参照するサンプルコードについて説明します。
OdbcDataReaderオブジェクトでの参照方法では、参照レコードの取り出し方向はNEXTだけでカーソル位置づけによるデータ更新はできません。
本サンプルコードは、取得データをWebページ上に表示します。
アプリケーションの手順
OdbcConnectionオブジェクトでコネクションを接続します。詳細は、“D.3.1 接続および切断”を参照してください。
OdbcCommandオブジェクトを生成します。(CommandTextプロパティへSELECT文を設定します)
OdbcCommand.ExecuteReaderメソッドでOdbcDataReaderオブジェクトを生成します。
OdbcDataReaderオブジェクトよりデータを取得します。
OdbcDataReader.Readメソッドで次の行へ位置づけます。
OdbcDataReader.FieldCountプロパティで列数を取得します。
OdbcDataReader.GetValueメソッドでデータを取得します。
OdbcDataReader.CloseメソッドでOdbcDataReaderオブジェクトを閉じます。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“D.3.9 エラー処理”を参照してください。
'オブジェクト宣言
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()
'列数の取得
For i = 0 To drd.FieldCount - 1
'データの取得
msgstr &= drd.GetValue(i) & " "
Next
msgstr &= "<br>"
End While
'メッセージ出力
Label1.Text = "DataReader<br>" & msgstr
'5. OdbcDataReaderオブジェクトを閉じる
drd.Close()
'6. コネクション切断
con.Close()
'7. オブジェクトの破棄
con.Dispose()
com.Dispose()
'エラー処理
Catch ex As Microsoft.Data.Odbc.OdbcException
'エラー処理ルーチンを記述
End Try