ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(ODBCドライバ編)

C.5.2 前方向読み取り専用での参照

OdbcDataReaderオブジェクトを使用して、前方向スクロール読み取り専用でデータ参照するサンプルコードについて説明します。

OdbcDataReaderオブジェクトでの参照方法では、参照レコードの取り出し方向はNEXTだけでカーソル位置づけによるデータ更新はできません。
本サンプルコードは、取得データをメッセージボックスで表示します。

アプリケーションの手順

  1. OdbcConnectionオブジェクトでコネクションを接続します。詳細は、“C.5.1 接続および切断”を参照してください。

  2. OdbcCommandオブジェクトを生成します。
    (CommandTextプロパティへSELECT文を設定します)

  3. OdbcCommand.ExecuteReaderメソッドでOdbcDataReaderオブジェクトを生成します。

  4. OdbcDataReaderオブジェクトよりデータを取得します。
    OdbcDataReader.Readメソッドで次の行へ位置づけます。
    OdbcDataReader.FieldCountプロパティで列数を取得します。
    OdbcDataReader.GetValueメソッドでデータを取得します。

  5. OdbcDataReader.CloseメソッドでOdbcDataReaderオブジェクトを閉じます。

  6. コネクションを切断します。

  7. オブジェクトを破棄します。

エラー処理については、“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