Bagikan melalui


SqlDataReader.Read Metode

Definisi

Memajukan SqlDataReader ke rekaman berikutnya.

public:
 override bool Read();
public override bool Read();
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean

Mengembalikan

true jika ada lebih banyak baris; jika tidak false.

Penerapan

Pengecualian

SQL Server mengembalikan kesalahan saat menjalankan teks perintah.

Contoh

Contoh berikut membuat SqlConnection, , SqlCommanddan SqlDataReader. Contohnya membaca data, menulisnya ke jendela konsol. Kode kemudian menutup SqlDataReader. SqlConnection ditutup secara otomatis di akhir using blok kode.

using Microsoft.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 record)
    {
        Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));
    }

}

Keterangan

Posisi SqlDataReader default adalah sebelum rekaman pertama. Oleh karena itu, Anda harus memanggil Read untuk mulai mengakses data apa pun.

Hanya satu SqlDataReader per terkait SqlConnection yang dapat dibuka pada satu waktu, dan setiap upaya untuk membuka yang lain akan gagal sampai yang pertama ditutup. Demikian pula, saat SqlDataReader sedang digunakan, yang terkait SqlConnection sibuk melayaninya sampai Anda memanggil Close.

Berlaku untuk