SqlCeDataReader 类

提供从数据源读取数据行的只进流的方法。无法继承此类。

命名空间:  System.Data.SqlServerCe
程序集:  System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)

语法

声明
Public Class SqlCeDataReader _
    Inherits DbDataReader
用法
Dim instance As SqlCeDataReader
public class SqlCeDataReader : DbDataReader
public ref class SqlCeDataReader : public DbDataReader
type SqlCeDataReader =  
    class
        inherit DbDataReader
    end
public class SqlCeDataReader extends DbDataReader

注释

若要创建 SqlCeDataReader,必须调用 SqlCeCommand 对象的 ExecuteReader 方法,而不直接使用构造函数。

当 SqlCeDataReader 处于使用状态时,关联的 SqlCeConnection 正忙于为 SqlCeDataReader 服务。在此状态下,可以在同一连接中创建多个读取器。

在读取数据时,SqlCeDataReader 的用户可以看到其他进程或线程对结果集所做的更改,具体情况取决于更改发生的时间。

当 SqlCeDataReader 关闭后,只能调用 IsClosed 属性和 RecordsAffected 属性。尽管当 SqlCeDataReader 存在时,可随时访问 RecordsAffected 属性,但是,请在返回 RecordsAffected 的值之前先调用 Close,以确保得到精确的返回值。

示例

下面的示例创建一个 SqlCeConnection、一个 SqlCeCommand 和一个 SqlCeDataReader。该示例读取全部数据并将数据写到控制台,然后关闭 SqlCeDataReader 和 SqlCeConnection

Dim conn As SqlCeConnection = Nothing
Dim cmd As SqlCeCommand = Nothing
Dim rdr As SqlCeDataReader = Nothing

Try
    ' Open the connection and create a SQL command
    '
    conn = New SqlCeConnection("Data Source = AdventureWorks.sdf")
    conn.Open()

    cmd = New SqlCeCommand("SELECT * FROM DimEmployee", conn)

    rdr = cmd.ExecuteReader()

    ' Iterate through the results
    '
    While rdr.Read()
        Dim employeeID As Integer = rdr.GetInt32(0) ' or: rdr["EmployeeKey"];
        Dim lastName As String = rdr.GetString(5) ' or: rdr["FirstName"];
    End While

    ' Always dispose data readers and commands as soon as practicable
    '
    rdr.Close()
    cmd.Dispose()
Finally
    ' Close the connection when no longer needed
    '
    conn.Close()
End Try
SqlCeConnection conn = null;
SqlCeCommand cmd = null;
SqlCeDataReader rdr = null;

try
{
    // Open the connection and create a SQL command
    //
    conn = new SqlCeConnection("Data Source = AdventureWorks.sdf");
    conn.Open();

    cmd = new SqlCeCommand("SELECT * FROM DimEmployee", conn);

    rdr = cmd.ExecuteReader();

    // Iterate through the results
    //
    while (rdr.Read())
    {
        int employeeID = rdr.GetInt32(0);   // or: rdr["EmployeeKey"];
        string lastName = rdr.GetString(5); // or: rdr["FirstName"];
    }

    // Always dispose data readers and commands as soon as practicable
    //
    rdr.Close();
    cmd.Dispose();
}
finally
{
    // Close the connection when no longer needed
    //
    conn.Close();
}

继承层次结构

System. . :: . .Object
  System. . :: . .MarshalByRefObject
    System.Data.Common. . :: . .DbDataReader
      System.Data.SqlServerCe..::..SqlCeDataReader
        System.Data.SqlServerCe. . :: . .SqlCeResultSet

线程安全

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

请参阅

参考

SqlCeDataReader 成员

System.Data.SqlServerCe 命名空间