SqlCeDataReader クラス

データ ソースからデータ行の前方向ストリームを読み取る方法を提供します。このクラスは継承できません。

継承階層

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

名前空間:  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 型は、以下のメンバーを公開しています。

プロパティ

  名前 説明
パブリック プロパティ Depth 現在の行の入れ子の深さを示す値を取得します。 (DbDataReader.Depth をオーバーライドします。)
パブリック プロパティ FieldCount クエリの SELECT 句内の列数を取得します。 (DbDataReader.FieldCount をオーバーライドします。)
パブリック プロパティ HasRows SqlCeDataReader に 1 行以上の行が格納されているかどうかを示す値を取得します。 (DbDataReader.HasRows をオーバーライドします。)
パブリック プロパティ HiddenFieldCount インフラストラクチャです。
パブリック プロパティ IsClosed データ リーダーが閉じているかどうかを示します。 (DbDataReader.IsClosed をオーバーライドします。)
パブリック プロパティ Item[Int32] 列の序数によって指定した列の値をネイティブ形式で取得します。 (DbDataReader.Item[Int32] をオーバーライドします。)
パブリック プロパティ Item[String] 列名によって指定した列の値をネイティブ形式で取得します。 (DbDataReader.Item[String] をオーバーライドします。)
パブリック プロパティ RecordsAffected SQL ステートメントの実行によって変更、挿入、または削除された行の数を取得します。 (DbDataReader.RecordsAffected をオーバーライドします。)
パブリック プロパティ VisibleFieldCount (DbDataReader から継承されます。)

Top

メソッド

  名前 説明
パブリック メソッド Close SqlCeDataReader オブジェクトを閉じます。 (DbDataReader.Close() をオーバーライドします。)
パブリック メソッド CreateObjRef (MarshalByRefObject から継承されます。)
パブリック メソッド Dispose() インフラストラクチャです。この SqlCeDataReader によって消費されているリソースを解放します。
プロテクト メソッド Dispose(Boolean) この SqlCeDataReader で使用されているアンマネージ リソースを解放し、必要に応じてマネージ リソースも解放します。 (DbDataReader.Dispose(Boolean) をオーバーライドします。)
パブリック メソッド Equals (Object から継承されます。)
プロテクト メソッド Finalize SqlCeDataReader がガベージ コレクションによってクリアされる前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。 (Object.Finalize() をオーバーライドします。)
パブリック メソッド GetBoolean 指定した列の値をブール値として取得します。 (DbDataReader.GetBoolean(Int32) をオーバーライドします。)
パブリック メソッド GetByte 指定した列の値をバイトとして取得します。 (DbDataReader.GetByte(Int32) をオーバーライドします。)
パブリック メソッド GetBytes 指定した列オフセットからのバイト ストリームを、配列としてバッファーに読み込みます。読み込みは、指定したバッファー オフセットから開始されます。 (DbDataReader.GetBytes(Int32, Int64, array<Byte[], Int32, Int32) をオーバーライドします。)
パブリック メソッド GetChar .NET Compact Framework Data Provider for SQL Server Compact ではサポートされていません。 (DbDataReader.GetChar(Int32) をオーバーライドします。)
パブリック メソッド GetChars 指定した列オフセットからの文字ストリームを、配列としてバッファーに読み込みます。読み込みは、指定したバッファー オフセットから開始されます。 (DbDataReader.GetChars(Int32, Int64, array<Char[], Int32, Int32) をオーバーライドします。)
パブリック メソッド GetData (DbDataReader から継承されます。)
パブリック メソッド GetDataTypeName ソース データ型名を取得します。 (DbDataReader.GetDataTypeName(Int32) をオーバーライドします。)
パブリック メソッド GetDateTime 指定した列の値を DateTime オブジェクトとして取得します。 (DbDataReader.GetDateTime(Int32) をオーバーライドします。)
プロテクト メソッド GetDbDataReader (DbDataReader から継承されます。)
パブリック メソッド GetDecimal 指定した列の値を Decimal オブジェクトとして取得します。 (DbDataReader.GetDecimal(Int32) をオーバーライドします。)
パブリック メソッド GetDouble 指定した列の値を倍精度浮動小数点数として取得します。 (DbDataReader.GetDouble(Int32) をオーバーライドします。)
パブリック メソッド GetEnumerator インフラストラクチャです。 (DbDataReader.GetEnumerator() をオーバーライドします。)
パブリック メソッド GetFieldType オブジェクトのデータ型である Type を取得します。 (DbDataReader.GetFieldType(Int32) をオーバーライドします。)
パブリック メソッド GetFloat 指定した列の値を単精度浮動小数点数として取得します。 (DbDataReader.GetFloat(Int32) をオーバーライドします。)
パブリック メソッド GetGuid 指定した列の値をグローバル一意識別子 (GUID) として取得します。 (DbDataReader.GetGuid(Int32) をオーバーライドします。)
パブリック メソッド GetHashCode (Object から継承されます。)
パブリック メソッド GetInt16 指定した列の値を 16 ビット符号付き整数として取得します。 (DbDataReader.GetInt16(Int32) をオーバーライドします。)
パブリック メソッド GetInt32 指定した列の値を 32 ビット符号付き整数として取得します。 (DbDataReader.GetInt32(Int32) をオーバーライドします。)
パブリック メソッド GetInt64 指定した列の値を 64 ビット符号付き整数として取得します。 (DbDataReader.GetInt64(Int32) をオーバーライドします。)
パブリック メソッド GetLifetimeService (MarshalByRefObject から継承されます。)
パブリック メソッド GetName 指定した列の名前を取得します。 (DbDataReader.GetName(Int32) をオーバーライドします。)
パブリック メソッド GetOrdinal 列名を指定して、列の序数を取得します。 (DbDataReader.GetOrdinal(String) をオーバーライドします。)
パブリック メソッド GetProviderSpecificFieldType 基になるプロバイダー固有フィールド型の内部表現である Object を取得します。 (DbDataReader.GetProviderSpecificFieldType(Int32) をオーバーライドします。)
パブリック メソッド GetProviderSpecificValue (DbDataReader から継承されます。)
パブリック メソッド GetProviderSpecificValues (DbDataReader から継承されます。)
パブリック メソッド GetSchemaTable SqlCeDataReader の列メタデータを記述する DataTable を返します。 (DbDataReader.GetSchemaTable() をオーバーライドします。)
パブリック メソッド GetSqlBinary 指定した列の値を SqlBinary として取得します。
パブリック メソッド GetSqlBoolean 指定した列の値を SqlBoolean として取得します。
パブリック メソッド GetSqlByte 指定した列の値を SqlByte として取得します。
パブリック メソッド GetSqlDateTime 指定した列の値を SqlDateTime として取得します。
パブリック メソッド GetSqlDecimal 指定した列の値を SqlDecimal として取得します。
パブリック メソッド GetSqlDouble 指定した列の値を SqlDouble として取得します。
パブリック メソッド GetSqlGuid 指定した列の値を SqlGuid として取得します。
パブリック メソッド GetSqlInt16 指定した列の値を SqlInt16 として取得します。
パブリック メソッド GetSqlInt32 指定した列の値を SqlInt32 として取得します。
パブリック メソッド GetSqlInt64 指定した列の値を SqlInt64 として取得します。
パブリック メソッド GetSqlMoney 指定した列の値を SqlMoney として取得します。
パブリック メソッド GetSqlSingle 指定した列の値を SqlSingle として取得します。
パブリック メソッド GetSqlString 指定した列の値を SqlString として取得します。
パブリック メソッド GetString 指定した列の値を文字列として取得します。 (DbDataReader.GetString(Int32) をオーバーライドします。)
パブリック メソッド GetType (Object から継承されます。)
パブリック メソッド GetValue 指定した序数の列の値をネイティブ形式で取得します。 (DbDataReader.GetValue(Int32) をオーバーライドします。)
パブリック メソッド GetValues 現在の行のすべての属性列を取得します。 (DbDataReader.GetValues(array<Object[]) をオーバーライドします。)
パブリック メソッド InitializeLifetimeService (MarshalByRefObject から継承されます。)
プロテクト メソッド IsCommandBehavior 指定した CommandBehavior がこの SqlCeDataReader のものと一致するかどうかを判断します。
パブリック メソッド IsDBNull 列に格納されている値が存在しない値または欠損値かどうかを示す値を取得します。 (DbDataReader.IsDBNull(Int32) をオーバーライドします。)
プロテクト メソッド MemberwiseClone() (Object から継承されます。)
プロテクト メソッド MemberwiseClone(Boolean) (MarshalByRefObject から継承されます。)
パブリック メソッド NextResult .NET Compact Framework Data Provider for SQL Server Compact ではサポートされていません。 (DbDataReader.NextResult() をオーバーライドします。)
プロテクト メソッド OnMove インフラストラクチャです。
パブリック メソッド Read SqlCeDataReader を次のレコードに進めます。 (DbDataReader.Read() をオーバーライドします。)
パブリック メソッド Seek SqlCeDataReader を、指定したパラメーターに一致するインデックス値が存在するレコードに配置します。
パブリック メソッド ToString (Object から継承されます。)

Top

明示的なインターフェイスの実装

  名前 説明
明示的なインターフェイスの実装プライベート メソッド IDataRecord.GetData (DbDataReader から継承されます。)

Top

説明

SqlCeDataReader を作成するには、コンストラクターを直接使用せずに、SqlCeCommand オブジェクトの ExecuteReader メソッドを呼び出す必要があります。

SqlCeDataReader の使用中は、関連付けられた SqlCeConnection は、その SqlCeDataReader によって使用されるためビジー状態になります。この状態では、同じ接続で複数のリーダーを作成できます。

データの読み取り中に別のプロセスまたはスレッドが結果セットに加えた変更が、SqlCeDataReader のユーザーに表示されることがあります。実際の動作は、いつ変更が行われたかによって決まります。

SqlCeDataReader を閉じた後に呼び出すことができるのは、IsClosed プロパティと RecordsAffected プロパティだけです。RecordsAffected プロパティは、SqlCeDataReader が存在している間はいつでも呼び出すことができますが、正しい戻り値を得るために、RecordsAffected の値を取得する前には、必ず Close を呼び出してください。

使用例

SqlCeConnectionSqlCeCommand、および 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();
}

スレッド セーフ

この型の public static (Microsoft Visual Basic では Shared) のすべてのメンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

関連項目

参照

System.Data.SqlServerCe 名前空間