VB.NET レコードセットは、DataReaderたとえばSqlDataReader. リーダーに複数のブロックが含まれてReadいる場合にリーダーを次のデータ ブロックに進めるメソッドがあり、bool読み取るデータのブロックがまだあるかどうかを示す を返します。
例えば:
Using con = New SqlConnection(connectionString)
Using cmd = New SqlCommand("SELECT IntCol,StringCol,BoolCol FROM Table WHERE ...", con)
con.Open()
Using rdr = cmd.ExecuteReader()
While rdr.Read()
Dim IntCol = rdr.GetInt32(0)
Dim StringCol = rdr.GetString(1)
Dim BoolCol = rdr.GetBoolean(2)
End While
End Using
End Using
End Using
ADO.NET にはMoveFirstorがないことに注意してください。MoveLast
リーダーを最後の位置に移動しないでください。つまり、最後のレコードだけが必要な場合でも、データベースからすべてのデータを読み取ることになります。SELECT TOP 1 ... ORDER BY ...そもそも使用して最後のものだけを選択してみませんか? SqlDataReaderこれが、これらのメソッドがない理由です。
別の方法はDataTable、メモリ内でそれを行いたい場合に a を使用することです。その後、最後の行にアクセスできますtable.Rows(table.Rows.Count-1)。DataTableビアをロードできますSqlDataAdapter.Fill(DataTable)。