SqlDataReader.GetSchemaTable メソッド
アセンブリ: System.Data (system.data.dll 内)

Dim instance As SqlDataReader Dim returnValue As DataTable returnValue = instance.GetSchemaTable
列メタデータを説明する DataTable。


GetSchemaTable メソッドは、各列のメタデータを次の順序で返します。
DataReader 列 | |
---|---|
ColumnName | 列の名前。列名は一意でない場合もあります。判断できない場合は、null 値が返されます。この名前は、現在のビュー内またはコマンド テキスト内の列に対する最も最近の名前変更を常に反映した名前になります。 |
ColumnOrdinal | 列の序数。行のブックマーク列 (ある場合) はゼロになります。その他の列は 1 から順に番号が付けられます。この列に null 値を含めることはできません。 |
ColumnSize | 列の値に許容される最大長。固定長データ型を使用する列では、そのデータ型のサイズになります。SQL Server データベースに格納されている nvarchar(MAX)、varchar(MAX)、および varbinary(MAX) の各列の最大サイズは 2GB です。これらの列がファイルとして格納およびアクセスされる場合、最大サイズの制限はファイル システムに依存します。この値は、接続文字列で Type System Version キーワードを使用すると変更できます。新しい型の場合は、下位レベル型として表されます。MAX データ型は、nvarchar に対して通常 4k を返し、varchar に対して 8000 を返します。詳細については、SQL Server Books Online で Transact-SQL のリファレンスを参照してください。 |
NumericPrecision | ProviderType が数値データ型の場合は、列の最大精度になります。精度は、列の定義によって決まります。ProviderType が数値データ型以外の場合は、null 値になります。 |
NumericScale | ProviderType が DBTYPE_DECIMAL または DBTYPE_NUMERIC の場合は、小数点の右側の桁数。それ以外の場合は、null 値になります。 |
IsUnique | |
IsKey | true の場合は、列が、行セット内の行を一意に識別するために組み合わされる、列のセットの 1 つであることを示します。IsKey が true に設定された列のセットは、行セット内の行を一意に識別する必要があります。この列のセットが列の最小セットである必要はありません。この列のセットは、ベース テーブルの主キー、UNIQUE 制約、または一意のインデックスから生成されることもあります。 |
BaseServerName | SqlDataReader が使用する Microsoft SQL Server のインスタンス名。 |
BaseCatalogName | 列を格納している、データ ストア内のカタログの名前。基本カタログ名を判断できない場合は null。この列の既定値は null 値です。 |
BaseColumnName | データ ストア内での列名。エイリアスが使用された場合は、ColumnName 列に返される列名とは異なることがあります。基本列名を判断できない場合や、行セット列であると判明したがデータ ストア内の列と一致しない場合は、null 値。この列の既定値は null 値です。 |
BaseSchemaName | 列を格納している、データ ストア内のスキーマの名前。基本スキーマ名を判断できない場合は null 値。この列の既定値は null 値です。 |
BaseTableName | 列を格納している、データ ストア内のテーブルまたはビューの名前。ベース テーブル名を判断できない場合は null 値。この列の既定値は null 値です。 |
列の .NET Framework に合う型に割り当てます。 | |
AllowDBNull | コンシューマが列に null 値を設定できる場合、またはコンシューマが列に null 値を設定できるかどうかをプロバイダが判断できない場合に設定します。それ以外の場合は、設定されません。列を null 値に設定できない場合でも、null 値が含まれている可能性があります。 |
ProviderType | 列のデータ型のインジケータ。列のデータ型が行によって異なる場合は、Object である必要があります。この列に null 値を含めることはできません。 |
IsAliased | |
IsExpression | |
IsIdentity | |
IsAutoIncrement | true の場合は、列が、新しい行に固定インクリメントで値を割り当てることを示します。 false の場合は、列が、新しい行に固定インクリメントで値を割り当てないことを示します。この列の既定値は false です。 |
IsRowVersion | |
IsHidden | |
非常に長いデータが含まれる BLOB (Binary Long Object) が列に格納されている場合に設定されます。非常に長いデータの定義は、プロバイダによって異なります。 | |
IsReadOnly | |
ProviderSpecificDataType | |
DataTypeName | |
XmlSchemaCollectionDataBase | 行に XML 列に関する情報が格納されている場合、この XML インスタンスのスキーマ コレクションが置かれているデータベースの名前。コレクションが現在のデータベース内で定義されている場合、この値は null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing) になります。スキーマ コレクションが存在しない場合も null になります。この場合、XmlSchemaCollectionName 列と XmlSchemaCollectionOwningSchema 列も null になります。 |
XmlSchemaCollectionOwningSchema | 行に XML 列に関する情報が格納されている場合、この XML インスタンスのスキーマ コレクションが置かれている所有リレーショナル スキーマ。コレクションが現在のデータベース内で定義されている場合、この値は null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing) になります。スキーマ コレクションが存在しない場合も null になります。この場合、XmlSchemaCollectionDatabase 列と XmlSchemaCollectionName 列も null になります。 |
XmlSchemaCollectionName | 行に XML 列に関する情報が格納されている場合、この XML インスタンスのスキーマ コレクションの名前。関連付けられているスキーマ コレクションが存在しない場合、この値は null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing) になります。この値が null の場合、XmlSchemaCollectionDatabase 列と XmlSchemaCollectionOwningSchema 列も null になります。 |
![]() |
---|
メタデータの列が正しい情報を確実に返すようにするには、behavior パラメータを KeyInfo に設定して ExecuteReader を呼び出す必要があります。それ以外の場合、スキーマ テーブルのいくつかの列は、既定のデータ、null、または正しくないデータを返します。 |

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlDataReader.GetSchemaTable メソッドを検索する場合は、下記のリンクをクリックしてください。

- SqlDataReader.GetSchemaTable メソッドのページへのリンク