SqlDataReader.Read メソッド

定義

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コマンド テキストの実行中にエラーが返されました。

次の例では、 SqlConnectionSqlCommand、および SqlDataReaderを作成します。 この例では、データを読み取り、コンソール ウィンドウに書き出します。 その後、コードは SqlDataReaderを閉じます。 SqlConnectionは、using コード ブロックの末尾で自動的に閉じられます。

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]));
}
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

注釈

SqlDataReaderの既定の位置は、最初のレコードの前です。 したがって、データへのアクセスを開始するには、 Read を呼び出す必要があります。

関連付けられているSqlDataReaderごとに 1 つのSqlConnectionのみを一度に開く可能性があり、別のを開こうとすると、最初のが閉じられるまで失敗します。 同様に、 SqlDataReader が使用されている間、関連付けられている SqlConnection は、 Closeを呼び出すまで、そのサービスをビジー状態にしています。

適用対象

こちらもご覧ください