OleDbDataReader.GetSchemaTable メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DataTable の列メタデータを記述する OleDbDataReader を返します。
public:
override System::Data::DataTable ^ GetSchemaTable();
public:
virtual System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable? GetSchemaTable ();
public System.Data.DataTable GetSchemaTable ();
public override System.Data.DataTable GetSchemaTable ();
override this.GetSchemaTable : unit -> System.Data.DataTable
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Overrides Function GetSchemaTable () As DataTable
Public Function GetSchemaTable () As DataTable
戻り値
列メタデータを記述する DataTable。
実装
例外
OleDbDataReader が閉じています。
注釈
メソッドは GetSchemaTable OLE DB IColumnsRowset::GetColumnsRowset メソッドにマップされ、各列に関するメタデータを次の順序で返します。
DataReader 列 | OLE DB 列 ID | [説明] |
---|---|---|
ColumnName | DBCOLUMN_NAME | 列の名前。これは一意ではない可能性があります。 キャプションが確認できない場合は、NULL 値が返されます。 この名前には常に現在のビューまたはコマンド テキストで直前に変更された列の名前が反映されます。 |
ColumnOrdinal | DBCOLUMN_NUMBER | 列の 0 から始まる序数。 この列に NULL 値を含めることはできません。 |
ColumnSize | DBCOLUMN_COLUMNSIZE | 列に格納できる値の最大の長さ。 固定長データ型を使用する列の場合、これはデータ型のサイズです。 |
NumericPrecision | DBCOLUMN_PRECISION | DbType が数値データ型の場合、これは列の最大有効桁数です。 DBTYPE_DECIMALまたはDBTYPE_NUMERICのデータ型を持つ列の有効桁数は、列の定義によって異なります。 DbType が数値データ型でない場合、これは null 値です。 |
NumericScale | DBCOLUMN_SCALE | DbType がDBTYPE_DECIMALまたはDBTYPE_NUMERICの場合、これは小数点の右側の桁数です。 それ以外の場合、これは null 値です。 |
DataType | なし | 列の.NET Framework型にマップされます。 |
ProviderType | DBCOLUMN_TYPE | 列のデータ型のインジケーターです。 列のデータ型が行ごとに異なる場合は、これをDBTYPE_VARIANTする必要があります。 この列に NULL 値を含めることはできません。 |
IsLong | DBCOLUMNFLAGS_ISLONG | プロバイダーは、列に非常に長いデータを含む Binary Long オブジェクト (BLOB) が含まれている場合にDBCOLUMNFLAGS_ISLONGを設定します。 非常に長いデータの定義は、プロバイダー固有です。 このフラグの設定は、データ型のPROVIDER_TYPES行セット内のIS_LONG列の値に対応します。 |
AllowDBNull | DBCOLUMNFLAGS_ISNULLABLE | プロバイダーは、コンシューマーが列を null 値に設定できるかどうか、またはコンシューマーが列を null 値に設定できるかどうかをプロバイダーが判断できない場合に、DBCOLUMNFLAGS_ISNULLABLEを設定します。 列を NULL 値に設定できない場合でも、列に NULL 値が含まれる場合があります。 |
IsReadOnly | DBCOLUMNFLAGS_WRITE |
true 列を変更できない場合は 。それ以外の場合 false は 。 プロバイダーが DBCOLUMNFLAGS_WRITE または DBCOLUMNFLAGS_WRITEUNKNOWN フラグを設定している場合、列は書き込み可能であると見なされます。 |
IsRowVersion | DBCOLUMNFLAGS_ISROWID | プロバイダーは、列に書き込むことができない永続的な行識別子が含まれ、行を識別する以外に意味のある値がない場合にDBCOLUMNFLAGS_ISROWIDを設定します。 |
IsUnique | DBCOLUMN_ISUNIQUE | VARIANT_TRUE: BaseTableName で返されるテーブルのベース テーブル内に、この列で同じ値を持つ 2 つの行はありません。 IsUnique は、列が単独でキーを表している場合、またはこの列にのみ適用される UNIQUE 型の制約がある場合に、VARIANT_TRUEすることが保証されます。 VARIANT_FALSE: 列には、ベース テーブルに重複する値を含めることができます。 この列の既定値はVARIANT_FALSEです。 |
IsKey | DBCOLUMN_KEYCOLUMN | VARIANT_TRUE: 列は、行セット内の一連の列の 1 つであり、一緒に行を一意に識別します。 IsKey が VARIANT_TRUE に設定されている列のセットは、行セット内の行を一意に識別する必要があります。 この列のセットは列の最小セットである必要はありません。 この列のセットは、ベース テーブルの主キー、一意の制約、または一意のインデックスから生成できます。 VARIANT_FALSE: 行を一意に識別するために列は必要ありません。 |
IsAutoIncrement | DBCOLUMN_ISAUTOINCREMENT | VARIANT_TRUE: 列は、固定の増分で新しい行に値を割り当てます。 VARIANT_FALSE: 列は、固定インクリメントで新しい行に値を割り当てません。 この列の既定値はVARIANT_FALSEです。 |
BaseSchemaName | DBCOLUMN_BASESCHEMANAME | 列を含むデータ ストア内のスキーマの名前です。 ベース スキーマ名が確認できない場合は、NULL 値です。 この列の既定値は null 値です。 |
BaseCatalogName | DBCOLUMN_BASECATALOGNAME | 列を含むデータ ストア内のカタログの名前です。 ベースのカタログ名が確認できない場合は、NULL 値です。 この列の既定値は null 値です。 |
BaseTableName | DBCOLUMN_BASETABLENAME | 列を含むデータ ストア内のテーブルまたはビューの名前です。 ベースのテーブル名が確認できない場合は、NULL 値です。 この列の既定値は null 値です。 |
BaseColumnName | DBCOLUMN_BASECOLUMNNAME | データ ストア内での列名。 別名が使用された場合、これは ColumnName 列に返される列名とは異なる場合があります。 ベース列名を特定できない場合、または行セット列がデータ ストア内の列から派生しているが、同一ではない場合は null 値。 この列の既定値は null 値です。 |
注意
メタデータ列が正しい情報を返すようにするには、 パラメーターを にKeyInfo
設定して をbehavior
呼び出すExecuteReader必要があります。 それ以外の場合、スキーマ テーブル内の一部の列は、既定値、null、または正しくないデータを返す可能性があります。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET