共用方式為


SqlDataReader.Close 方法

定義

關閉 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 ()

實作

範例

下列範例會建立 SqlConnectionSqlCommand、 和 SqlDataReader。 此範例會讀取數據,並將其寫出主控台視窗。 然後程式代碼會 SqlDataReader關閉 。 會在 SqlConnection 程式代碼區塊結尾 using 自動關閉 。

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

備註

當您透過 使用 SqlDataReader 來針對任何其他用途使用相關聯的 SqlConnection 時,您必須明確呼叫 Close 方法。

方法 Close 會填入輸出參數的值、傳回值和 RecordsAffected,增加用來處理大型或複雜查詢的 關閉 SqlDataReader 所需的時間。 當傳回值和受查詢影響的記錄數目不重要時,在呼叫 CloseCancel 方法之前呼叫相關聯SqlCommand物件的方法可以減少關閉 SqlDataReader 所需的時間。

警告

請勿在 Connection、DataReader 或任何其他 Managed 物件的 方法上Finalize呼叫 CloseDispose 。 在完成項中,您應該只釋放類別直接擁有的 Unmanaged 資源。 如果類別未擁有任何 Unmanaged 資源,請不要在類別定義中包含 Finalize 方法。 如需詳細資訊,請參閱記憶體回收

適用於

另請參閱