Share via


SqlDataReader.Read Yöntem

Tanım

öğesini SqlDataReader sonraki kayda ilerler.

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

Döndürülenler

true daha fazla satır varsa; aksi takdirde false.

Uygulamalar

Özel durumlar

SQL Server komut metnini yürütürken bir hata döndürdü.

Örnekler

Aşağıdaki örnek bir SqlConnection, SqlCommandve SqlDataReaderoluşturur. Örnek, konsol penceresine yazarak verileri okur. Kod daha sonra öğesini SqlDataReaderkapatır. SqlConnection, kod bloğunun using sonunda otomatik olarak kapatılır.

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

Açıklamalar

öğesinin SqlDataReader varsayılan konumu ilk kayıttan öncedir. Bu nedenle, herhangi bir veriye erişmeye başlamak için çağrısı Read yapmanız gerekir.

Bir kerede ilişkili SqlConnection başına yalnızca bir tane SqlDataReader açık olabilir ve bir başkasını açma girişimleri ilki kapatılana kadar başarısız olur. Benzer şekilde, kullanılırkenSqlDataReader, siz çağırana Closekadar ilişkili SqlConnection onu servis etmekle meşgul olur.

Şunlara uygulanır

Ayrıca bkz.