SqlDataReader.GetSchemaTable メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DataTable の列メタデータを記述する SqlDataReader を返します。
public:
override System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable GetSchemaTable ();
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Overrides Function GetSchemaTable () As DataTable
戻り値
列メタデータを記述する DataTable。
実装
例外
SqlDataReader が閉じています。
注釈
メソッドは GetSchemaTable 、各列に関する次のメタデータを返します。
DataReader 列 | [説明] |
---|---|
AllowDBNull | コンシューマーが列を null 値に設定できるかどうか、またはコンシューマーが列を null 値に設定できるかどうかをプロバイダーが判断できない場合に設定します。 それ以外の場合は、設定しないでください。 列を NULL 値に設定できない場合でも、列に NULL 値が含まれる場合があります。 |
BaseCatalogName | 列を含むデータ ストア内のカタログの名前です。 ベース カタログ名を特定できない場合は NULL。 この列の既定値は null 値です。 |
BaseColumnName | データ ストア内での列名。 別名が使用された場合、これは ColumnName 列に返される列名とは異なる場合があります。 ベース列名を特定できない場合、または行セット列がデータ ストア内の列から派生しているが、同一でない場合は null 値。 この列の既定値は null 値です。 |
BaseSchemaName | 列を含むデータ ストア内のスキーマの名前です。 ベース スキーマ名が確認できない場合は、NULL 値です。 この列の既定値は null 値です。 |
BaseServerName | Microsoft のインスタンスの名前SQL Server によって使用されますSqlDataReader。 |
BaseTableName | 列を含むデータ ストア内のテーブルまたはビューの名前です。 ベースのテーブル名が確認できない場合は、NULL 値です。 この列の既定値は null 値です。 |
ColumnName | 列の名前。これは一意ではない可能性があります。 キャプションが確認できない場合は、NULL 値が返されます。 この名前には常に現在のビューまたはコマンド テキストで直前に変更された列の名前が反映されます。 |
ColumnOrdinal | 列の 0 から始まる序数。 この列に NULL 値を含めることはできません。 |
ColumnSize | 列に格納できる値の最大の長さ。 固定長データ型を使用する列の場合、これはデータ型のサイズです。 varchar(MAX) 、、および varbinary(MAX) SQL Server データベースに格納されている列の場合nvarchar(MAX) 、最大サイズは 2 GB です。 これらの列がファイルとして格納され、アクセスされる場合、ファイル システムによって最大サイズの制限が課されます。 接続文字列で キーワードを使用すると、 Type System Version この値が変更されます。 新しい型の場合、これらはダウンレベル型として表されます。 MAX データ型は、 の場合は通常の 4k、の nvarchar 場合は 8000 を varchar 返します。 詳細については、「 Transact-SQL リファレンス」を参照してください。 |
DataTypeName | 指定した列のデータ型を表す文字列を返します。 |
IsAliased | true : 列名はエイリアスです。false : 列名はエイリアスではありません。 |
IsAutoIncrement | true : 列は、固定増分で新しい行に値を割り当てます。false : 列は、固定増分で新しい行に値を割り当てません。 この列の既定値は false です。 |
IsColumnSet | true : 列は、列セットのメンバーであるスパース列です。 |
IsExpression | true : 列は式です。false : 列が式ではありません。 |
IsHidden | true : 列は非表示です。false : 列は非表示ではありません。 |
IsIdentity | true : 列は ID 列です。false : 列が ID 列ではありません。 |
IsKey | true : 列は、一緒に行を一意に識別する、行セット内の列のセットの 1 つです。 IsKey に設定された true の列のセットは、行セット内の行を一意に識別する必要があります。 この列のセットは列の最小セットである必要はありません。 この列のセットは、ベース テーブルの主キー、一意の制約、または一意のインデックスから生成できます。false : 行を一意に識別するために列は必要ありません。 |
IsLong | true : 列には、非常に長いデータを含むバイナリ長オブジェクト (BLOB) が含まれています。 非常に長いデータの定義は、プロバイダー固有です。false : 列に、非常に長いデータを含むバイナリ長オブジェクト (BLOB) が含まれていません。 |
IsReadOnly | true : 列を変更できません。false : 列は変更できます。 |
IsRowVersion | true : 列に書き込むことができない永続的な行識別子が含まれており、行を識別する以外に意味のある値はありません。false : 列に書き込むことができない永続的な行識別子は含まれず、行を識別する以外に意味のある値はありません。 |
IsUnique | true : 列の型 timestamp は です。false : 列が 型 timestamp ではありません。 |
NonVersionedProviderType | 接続文字列で指定されている現在 Type System Version の列の型。 戻り値は 列挙体から取得されます SqlDbType 。 |
NumericPrecision | が数値データ型の場合 ProviderType 、これは列の最大有効桁数です。 有効桁数は、列の定義によって異なります。 が数値データ型でない場合 ProviderType 、これは 255 です。 |
NumericScale | が DBTYPE_DECIMAL または DBTYPE_NUMERIC の場合 ProviderType は、小数点の右側の桁数。 それ以外の場合、これは 255 です。 |
ProviderSpecificDataType | 接続文字列の キーワードに Type System Version 基づいて、列のプロバイダー固有のデータ型を返します。 |
ProviderType | 列のデータ型のインジケーターです。 列のデータ型が行ごとに異なる場合、これは Object である必要があります。 この列に NULL 値を含めることはできません。 |
UdtAssemblyQualifiedName | 列がユーザー定義型 (UDT) の場合、これは UDT のアセンブリの修飾名です AssemblyQualifiedName。 列が UDT でない場合、これは null です。 |
XmlSchemaCollectionDatabase | 行に XML 列に関する情報が含まれている場合は、この XML インスタンスのスキーマ コレクションがあるデータベースの名前。 コレクションが null 現在のデータベース内で定義されている場合、この値は (Nothing Visual Basic では ) です。 スキーマ コレクションがない場合も null になります。この場合、 XmlSchemaCollectionName 列と XmlSchemaCollectionOwningSchema 列も null になります。 |
XmlSchemaCollectionName | 行に XML 列に関する情報が含まれている場合は、この XML インスタンスのスキーマ コレクションの名前。 関連付けられたスキーマ コレクションがない場合、この値は null (Nothing Visual Basic の場合) です。 値が null の場合、 XmlSchemaCollectionDatabase 列と XmlSchemaCollectionOwningSchema 列も null になります。 |
XmlSchemaCollectionOwningSchema | 行に XML 列に関する情報が含まれている場合、この XML インスタンスのスキーマ コレクションがある所有リレーショナル スキーマ。 コレクションが null 現在のデータベース内で定義されている場合、この値は (Nothing Visual Basic では ) です。 スキーマ コレクションがない場合も null になります。この場合、 XmlSchemaCollectionDatabase 列と XmlSchemaCollectionName 列も null になります。 |
注意
メタデータ列が正しい情報を返すようにするには、 パラメーターを に設定して KeyInfo
をbehavior
呼び出すExecuteReader必要があります。 それ以外の場合、スキーマ テーブル内の一部の列は、既定値、null、または正しくないデータを返す可能性があります。