04/11/05 14:03:31
>>303
そんな感じ。
> myReader = myCommand.ExecuteReader(CommandBehavior, SchemaOnly)
ExecuteReader の引数は CommandBehavior列挙型 一つだけで、列挙型の指定は「型名.メンバ名」。
だから CommandBehavior.SchemaOnly
> While myReader.Read() ←結果の最初のレコードに移動(sqlDataReaderのOpen?)
ストリームそのものはExecuteReaderから返ってきた時点で開かれている。Closeするかストリームの終わりに達するまで、データはいつでも読みとれる。
//SqlDataReaderは、ストリームの実体ではなくて、ストリームを読み取る処理を簡単にするためのクラスである、というのはここでは余談。
あとはどこを読むかを決めるだけ。
一回目のReadで一番始めのレコードに目をやるわけだ。
> 複数行数があった場合は型に合わせた変数を作って、Get...を型に合わせて指定し
複数列、な。
あと必ずクエリ結果のレコードが一つに限られるならWhileする必要もないとか(一度だけ {ReadしてGet...して} Close)。