SqlDataReader.Close 方法

关闭 SqlDataReader 对象。

**命名空间:**System.Data.SqlClient
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Public Overrides Sub Close
用法
Dim instance As SqlDataReader

instance.Close
public override void Close ()
public:
virtual void Close () override
public void Close ()
public override function Close ()

备注

当使用 SqlDataReader 将关联的 SqlConnection 用于任何其他用途时,必须显式调用 Close 方法。

Close 方法填写输出参数的值、返回值和 RecordsAffected,从而增加了关闭用于处理大型或复杂查询的 SqlDataReader 所用的时间。如果返回值和查询影响的记录的数量不重要,则可以在调用 Close 方法前调用关联的 SqlCommand 对象的 Cancel 方法,从而减少关闭 SqlDataReader 所需的时间。

警告

不要对连接、DataReader 或类的 Finalize 方法中的任何其他托管对象调用 CloseDispose。在终结器中,应该仅释放类直接拥有的非托管资源。如果您的类未拥有任何非托管资源,则不要在类定义中包括 Finalize 方法。有关更多信息,请参见 垃圾回收

示例

下面的示例创建一个 SqlConnection、一个 SqlCommand 和一个 SqlDataReader。该示例读取全部数据,并将这些数据写到控制台窗口。随后此代码关闭 SqlDataReaderSqlConnectionusing 代码块的结尾处自动关闭。

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

        // Call Close when done reading.
        reader.Close();
    }
}

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

SqlDataReader 类
SqlDataReader 成员
System.Data.SqlClient 命名空间

其他资源

在 ADO.NET 中连接和检索数据
使用 SQL Server .NET Framework 数据提供程序