SqlDataReader.Close 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.
Stänger objektet SqlDataReader .
public:
virtual void Close();
public:
override void Close();
public void Close();
public override void Close();
abstract member Close : unit -> unit
override this.Close : unit -> unit
override this.Close : unit -> unit
Public Sub Close ()
Public Overrides Sub Close ()
Implementeringar
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))
{
connection.Open();
using (SqlCommand command =
new SqlCommand(queryString, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
// Call Read before accessing data.
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
// Call Close when done reading.
reader.Close();
}
}
}
}
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()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Kommentarer
Du måste uttryckligen Close anropa metoden när du använder SqlDataReader för att använda den associerade SqlConnection för något annat ändamål.
Metoden Close fyller i värdena för utdataparametrar, returvärden och RecordsAffected, vilket ökar den tid det tar att stänga en SqlDataReader som användes för att bearbeta en stor eller komplex fråga. När returvärdena och antalet poster som påverkas av en fråga inte är betydande kan den tid det tar att stänga SqlDataReader minskas genom att anropa Cancel metoden för det associerade SqlCommand objektet innan metoden anropas Close .
Caution
Anropa Close inte eller Dispose på en anslutning, en DataReader eller något annat hanterat objekt i -metoden för Finalize din klass. I en finalizer bör du bara släppa ohanterade resurser som klassen äger direkt. Om klassen inte äger några ohanterade resurser ska du inte inkludera någon Finalize metod i din klassdefinition. Mer information finns i Skräpinsamling.