SqlDataReader.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SqlDataReader を次のレコードに進めます。
public:
override bool Read();
public:
virtual bool Read();
public override bool Read ();
public bool Read ();
override this.Read : unit -> bool
abstract member Read : unit -> bool
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean
Public Function Read () As Boolean
戻り値
次の行が存在する場合は、true
。それ以外の場合は、false
。
実装
例外
SQL Server がコマンド テキストの実行中にエラーを返しました。
例
次の例では、 、 SqlConnection、 SqlCommandおよび を作成します SqlDataReader。 この例では、データを読み取り、コンソール ウィンドウに書き込みます。 その後、コードは を SqlDataReader閉じます。 は SqlConnection 、コード ブロックの末尾で自動的に using
閉じられます。
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadOrderData(str);
}
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call Read before accessing data.
while (reader.Read())
{
ReadSingleRow((IDataRecord)reader);
}
// Call Close when done reading.
reader.Close();
}
}
private static void ReadSingleRow(IDataRecord dataRecord)
{
Console.WriteLine(String.Format("{0}, {1}", dataRecord[0], dataRecord[1]));
}
}
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Data.SqlClient
Module Module1
Sub Main()
Dim str As String = "Data Source=(local);Initial Catalog=Northwind;" _
& "Integrated Security=SSPI;"
ReadOrderData(str)
End Sub
Private Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call Read before accessing data.
While reader.Read()
ReadSingleRow(CType(reader, IDataRecord))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Private Sub ReadSingleRow(ByVal record As IDataRecord)
Console.WriteLine(String.Format("{0}, {1}", record(0), record(1)))
End Sub
End Module
注釈
の既定の SqlDataReader 位置は、最初のレコードの前です。 したがって、 を呼び出 Read して、任意のデータへのアクセスを開始する必要があります。
関連付けられているSqlConnectionごとに一度に 1 つだけを開く可能性があり、最初の 1 SqlDataReader
つが閉じられるまで、別のを開く試みは失敗します。 同様に、 が使用されている間SqlDataReader
は、 を呼び出Closeすまで、関連付けられた SqlConnection
がビジー状態になります。