SqlDataReader.Read Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
SqlDataReader Går vidare till nästa post.
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
Returer
true om det finns fler rader; annars false.
Implementeringar
Undantag
SQL Server returnerade ett fel när kommandotexten kördes.
Exempel
I följande exempel skapas en SqlConnection, en SqlCommandoch en SqlDataReader. Exemplet läser igenom data och skriver ut dem till konsolfönstret. Koden stänger SqlDataReadersedan .
SqlConnection Stängs automatiskt i slutet av kodblocketusing.
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
Kommentarer
Standardpositionen för SqlDataReader är före den första posten. Därför måste du anropa Read för att börja komma åt data.
Endast en SqlDataReader per associerad SqlConnection kan vara öppen i taget, och alla försök att öppna en annan misslyckas tills den första stängs. På samma sätt, medan SqlDataReader används, är den associerade SqlConnection upptagen med att betjäna den tills du anropar Close.