SqlCeDataReader.GetSchemaTable メソッド
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
SqlCeDataReader の列メタデータを記述する DataTable を返します。
Public Overridable Function GetSchemaTable() As DataTable Implements _ IDataReader.GetSchemaTable
[C#]
public virtual DataTable GetSchemaTable();
[C++]
public: virtual DataTable* GetSchemaTable();
[JScript]
public function GetSchemaTable() : DataTable;
戻り値
列メタデータを記述する DataTable 。
実装
例外
例外の種類 | 条件 |
---|---|
InvalidOperationException | 操作が有効ではありません。 SqlCeDataReader が、結果セットの最後の行よりも後に置かれている可能性があります。 |
解説
SqlCeDataReader が複数のベース テーブルから列を読み込んでいる場合、 SqlCeDataReader は、スキーマ テーブルに IsKey 値を格納しません。この動作は、次の SELECT クエリを実行した場合の動作に似ています。 SELECT FirstName, LastName, 1+2 FROM Employees
このクエリでは、 Northwind データベースの Employees と、1+2 のために作成された一時テーブルの 2 つのテーブルから列を読み込んでいます。
GetSchemaTable メソッドは、OLE DB の IColumnsRowset::GetColumnsRowset メソッドに割り当てられ、各列のメタデータを次の順序で返します。
スキーマ テーブル列 | 説明 |
---|---|
ColumnName | 列の名前。この名前は、一意でない場合があります。名前を判断できない場合は、null 値が返されます。この名前は、現在のビュー内またはコマンド テキスト内の列に対して指定された最新の名前を常に反映しています。 |
ColumnOrdinal | 列の序数。序数は、0 から始まります。SQL Server CE では、ブックマークはサポートされていません。 |
ColumnSize | 列の値に許容される最大長。固定長のデータ型を使用する列では、最大長はデータ型のサイズです。 |
NumericPrecision | ProviderType が数値データ型の場合は、列の最大有効桁数。有効桁数は列の定義によって異なります。ProviderType が数値データ型以外の場合は、null 値になります。 |
NumericScale | ProviderType が DBTYPE_DECIMAL または DBTYPE_NUMERIC の場合は、小数点の右側の桁数。それ以外の場合は、null 値になります。 |
IsUnique | true の場合は、この列では、ベース テーブル (BaseTableName で返されるテーブル) 内で行に重複する値を格納できないことを示します。列自体がキーを構成している場合や、その列のみに適用される UNIQUE 型の制約がある場合は、IsUnique は必ず true になります。 false の場合は、列が、ベース テーブル内で重複する値を格納できることを示します。この列の既定値は false です。 |
IsKey | true の場合は、列が、行セット内の行を一意に識別するために組み合わされる、列のセットの 1 つであることを示します。IsKey が true に設定された列のセットは、行セット内の行を一意に識別する必要があります。この列のセットが列の最小セットである必要はありません。この列のセットは、ベース テーブルの主キー、UNIQUE 制約、または一意のインデックスから生成されることもあります。 false の場合は、列が、行を一意に識別する必要がないことを示します。 |
BaseColumnName | データ ストア内での列名。基本列名を判断できない場合や、取得された行セット列がデータ ストア内の列と一致しない場合は、null 値です。この列の既定値は null 値です。 |
BaseTableName | 列を格納している、データ ストア内のテーブル名。ベース テーブル名を判断できない場合は null 値。この列の既定値は null 値です。 |
DataType | 列の .NET Framework に合う型に割り当てます。 |
AllowDBNull | コンシューマが列に null 値を設定できる場合や、コンシューマが列に null 値を設定できるかどうかをプロバイダが判断できない場合に、設定されます。それ以外の場合は、設定されません。列を null 値に設定できない場合でも、null 値が含まれている可能性があります。 |
ProviderType | 列のデータ型のインジケータ。この列に null 値を含めることはできません。 |
IsAutoIncrement | true の場合は、列が、新しい行に固定インクリメントで値を割り当てることを示します。 false の場合は、列が、新しい行に固定インクリメントで値を割り当てないことを示します。この列の既定値は false です。 |
IsRowVersion | 書き込み禁止で、行の識別以外に意味のない値を持つ永続的な行 ID が列に格納されている場合に、設定されます。 |
IsLong | 非常に長いデータが含まれる BLOB (Binary Long Object) が列に格納されている場合に設定されます。 |
IsReadOnly | 列を変更できる場合は true 。それ以外の場合は false 。 |
必要条件
プラットフォーム: .NET Compact Framework - Windows CE .NET
.NET Framework セキュリティ:
- 直前の呼び出し元の完全信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細の参照先 : 部分信頼コードからのライブラリの使用
参照
SqlCeDataReader クラス | SqlCeDataReader メンバ | System.Data.SqlServerCe 名前空間