SqlDataReader.Read Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memajukan SqlDataReader ke rekaman berikutnya.
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
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 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
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.