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