いつもお世話になっております。
SqlDataReaderについての質問なのですが、ADOでのレコードセットであった、EOFプロパティ(それに該当するものも)が見当たらず困っています。
レコードを最後まで書き出すことは、while(DataReader.read = True)でもできますが、ループの中に判定を入れて、条件次第ではレコードを進めないということができません。
ADO.NETのときはDO UNTIL RecordSet.Eof = True と、RecordSet.nextを組みせて柔軟に書き出しができていた分、ちょっと不便に感じています。
EOFと同様のプロパティというのもあるのでしょうか?
No.1ベストアンサー
- 回答日時:
お世話になります。
RecordSet.Eof = True
DataReader.Read = False
と同じです。
> ループの中に判定を入れて、条件次第ではレコードを進めないということができません。
以下の例では、SQL Server 2000 の Northwind データベースの
Cusomers テーブルから値を取得し、
標準出力に 1 列目の値を出力します。
ただし、
1 列目の値が "ANTON" の場合、読み込み及び出力の処理を中断しています。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As SqlClient.SqlConnection = New SqlClient.SqlConnection(My.Settings.NorthwindConnectionString)
Try
con.Open()
Dim sc As SqlClient.SqlCommand = New SqlClient.SqlCommand("SELECT * FROM Customers", con)
Try
Dim reader As SqlClient.SqlDataReader = sc.ExecuteReader()
Try
While (reader.Read())
Dim str As String = reader.GetString(0)
Console.WriteLine(str)
If str = "ANTON" Then
reader.Close()
Exit While
End If
End While
Finally
If Not reader Is Nothing Then reader.Close()
End Try
Finally
If Not sc Is Nothing Then sc.Dispose()
End Try
Finally
If Not con Is Nothing Then con.Close() : con.Dispose()
End Try
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) Excel VBA 複数ブックシートごとにデータを統合する方法について 4 2022/05/20 14:23
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
コンセントの電力は入力と出力...
-
MMDでavi出力が出来ない
-
ACCESS クエリ→フォーム...
-
プログラムについての質問です...
-
テキストファイルから特定の文...
-
OBS配信すると、マイクが途切れ...
-
4Kの外部モニターに出力すると...
-
【PowerPoint VBAの高速化】
-
アクセスでエクセルに出力する...
-
printfの書式%.*s
-
VBAでテキスト出力時のスペース...
-
MATLAB simulinkで
-
Excel Slope関数 繰返し処理...
-
最近の画像生成AIについて。 長...
-
VBAのExecメソッドで画面を非表...
-
バッチファイル フォルダサイ...
-
coutで出力した文字を消去する...
-
エクセルVBAにて アルファ...
-
cout と cerrの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
コンセントの電力は入力と出力...
-
MMDでavi出力が出来ない
-
OBS配信すると、マイクが途切れ...
-
VBAでテキスト出力時のスペース...
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
ACCESS クエリ→フォーム...
-
アクセスでエクセルに出力する...
-
VBAのExecメソッドで画面を非表...
-
テキストファイルから特定の文...
-
Windows11対応の3入力1出力 USB...
-
VBAで有効数字の設定
-
スマホのバッテリー消費につい...
-
Excel VBAで値を変えながら、pd...
-
NTTのホームゲートウェイとOCN...
-
定格冷房能力(出力)とは 定格...
-
プログラムについての質問です...
-
PS5をMacBookProに出力したいの...
おすすめ情報