Share via


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
public class SqlCeDataReader extends DbDataReader
public class SqlCeDataReader extends DbDataReader
不适用。

备注

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

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

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

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

示例

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

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

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98, Windows Server 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

Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。

版本信息

.NET Framework

受以下版本支持:3.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

SqlCeDataReader 成员
System.Data.SqlServerCe 命名空间