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