OleDbDataReader.GetSchemaTable メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > OleDbDataReader.GetSchemaTable メソッドの意味・解説 

OleDbDataReader.GetSchemaTable メソッド

OleDbDataReader の列メタデータを記述する DataTable を返します。

名前空間: System.Data.OleDb
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Overrides Function
 GetSchemaTable As DataTable
Dim instance As OleDbDataReader
Dim returnValue As DataTable

returnValue = instance.GetSchemaTable
public override DataTable GetSchemaTable ()
public:
virtual DataTable^ GetSchemaTable () override
public DataTable GetSchemaTable ()
public override function GetSchemaTable ()
 : DataTable

戻り値
列メタデータを説明する DataTable。

例外例外
例外の種類条件

InvalidOperationException

OleDbDataReader が閉じています。

解説解説

GetSchemaTable メソッドは、OLE DB IColumnsRowset::GetColumnsRowset メソッドに割り当てられ、各列のメタデータを次の順序で返します。

DataReader 列

OLE DB 列 ID

説明

ColumnName

DBCOLUMN_NAME

列名。列名は一意でない場合もあります。判断できない場合は、null 値が返されます。この名前は、現在のビュー内またはコマンド テキスト内の列に対して指定された最新の名前を常に反映しています。

ColumnOrdinal

DBCOLUMN_NUMBER

列の序数。行のブックマーク列 (ある場合) はゼロになります。その他の列は 1 から順に番号が付けられます。この列に 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

非常に長いデータが含まれる BLOB (Binary Long Object) が列に格納されている場合は、プロバイダが BCOLUMNFLAGS_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

書き込み禁止で、行の識別以外に意味のない値を持つ永続的な行 ID が列に格納されている場合は、プロバイダが DBCOLUMNFLAGS_ISROWID を設定します。

IsUnique

DBCOLUMN_ISUNIQUE

VARIANT_TRUE の場合は、この列では、ベース テーブル (BaseTableName で返されるテーブル) 内で行に重複する値を格納できないことを示します。列自体がキーを構成している場合や、その列のみに適用される UNIQUE 型の制約がある場合は、IsUnique は必ず VARIANT_TRUE になります。

VARIANT_FALSE の場合は、この列に、ベース テーブル内で重複する値を格納できることを示します。この列の既定値は、VARIANT_FALSE です。

IsKey

DBCOLUMN_KEYCOLUMN

VARIANT_TRUE の場合は、列が、行セット内の行を一意に識別するために組み合わされる、列のセットの 1 つであることを示します。IsKey が VARIANT_TRUE に設定された列のセットは、行セット内の行を一意に識別する必要があります。この列のセットが列の最小セットである必要はありません。この列のセットは、ベース テーブルの主キー、UNIQUE 制約、または一意のインデックスから生成されることもあります。

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 値です。

メモメモ

メタデータの列が正しい情報を確実に返すようにするには、behavior パラメータを KeyInfo に設定して ExecuteReader を呼び出す必要があります。それ以外の場合、スキーマ テーブルのいくつかの列は、既定のデータ、null、または正しくないデータを返します。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OleDbDataReader クラス
OleDbDataReader メンバ
System.Data.OleDb 名前空間
その他の技術情報
DataReader の使用



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「OleDbDataReader.GetSchemaTable メソッド」の関連用語

OleDbDataReader.GetSchemaTable メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OleDbDataReader.GetSchemaTable メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS