SymfowareDataReaderオブジェクトを使用して、前方向スクロール読み取り専用でデータ参照するサンプルコードについて説明します。
SymfowareDataReaderオブジェクトでの参照方法では、参照レコードの取り出し方向はNEXTだけでカーソル位置づけによるデータ更新はできません。
本サンプルコードは、取得データをWebページ上に表示します。事前にフォームへラベルコントロール(Label1)を追加してください。
アプリケーションの手順
SymfowareConnectionオブジェクトでコネクションを接続します。詳細は、“A.3.1 接続および切断”を参照してください。
SymfowareCommandオブジェクトを生成します。(CommandTextプロパティへ問合せ式を設定します)
SymfowareCommand.ExecuteReaderメソッドでSymfowareDataReaderオブジェクトを生成します。
SymfowareDataReaderオブジェクトよりデータを取得します。
SymfowareDataReader.Readメソッドで次の行へ位置づけます。
SymfowareDataReader.FieldCountプロパティで列数を取得します。
SymfowareDataReader.GetValueメソッドでデータを取得します。
SymfowareDataReader.CloseメソッドでSymfowareDataReaderオブジェクトを閉じます。
コネクションを切断します。
オブジェクトを破棄します。
エラー処理については、“A.3.8 エラー処理”を参照してください。
Try
'SymfowareConnectionオブジェクトの生成
Dim con As New SymfowareConnection("DATA SOURCE=127.0.0.1;PORT=26551;" _
& "INITIAL CATALOG=TEST;USER ID=USER01;PASSWORD=PASS01")
'1.コネクション接続
con.Open()
'2.SymfowareCommandオブジェクトの生成
Dim command1 As New SymfowareCommand("SELECT * FROM SAMPLE1.TESTTBL", con)
'3.SymfowareDataReaderオブジェクトの生成
Dim reader1 As SymfowareDataReader = command1.ExecuteReader
'4.データの取得
Dim text1 As String = Nothing
'行の位置づけ
Do While reader1.Read
Dim num1 As Integer = 0
'列数の取得
Do While (num1 < reader1.FieldCount)
'データの取得
text1 = text1 & reader1.GetValue(num1) & " "
num1 += 1
Loop
text1 = text1 & "<br>"
Loop
'メッセージ出力
Label1.Text = "DataReader<br>" & text1
'5.SymfowareDataReaderオブジェクトを閉じる
reader1.Close()
'6.コネクション切断
con.Close()
'7.オブジェクトの破棄
con.Dispose()
command1.Dispose()
'エラー処理
Catch exception1 As Exception
'エラー処理ルーチンを記述
End Try