[C#][VB.NET]データベースのテーブル名からテーブルの詳細情報を取得する

テーブル名から項目一覧と、各項目の名前・型・サイズ・NULL許可・主キー等を取得する方法です。

SqlDataAdapter.FillSchemaでテーブルの詳細情報を取得

SqlDataAdapter.FillSchemaでSELECTを発行するとDataTableにテーブル情報が設定されます。(データが不要な場合は何もヒットしないSELECT文を発行します。) DataTableのColumnsプロパティで全てのカラム情報、PrimaryKeyプロパティで主キーのカラム情報が取得できます。 ColumnsプロパティとPrimaryKeyプロパティはDataColumnクラスの配列になっており、DataColumnクラスの主なプロパティは次のとおりです。

DataColumnクラスの主なプロパティ

プロパティ 説明
AllowDBNull null 値で登録できる場合True
AutoIncrement レコード追加時、自動採番でユニークな番号が設定される(シーケンス項目)場合True
AutoIncrementSeed AutoIncrementがTrueの時、番号の開始値
AutoIncrementStep AutoIncrementがTrueの時、番号の増分値
Caption 列の説明文。説明文が未設定の場合はColumnNameと同じ内容。
ColumnName 列の名前
DataType データの型。テーブルの型ではなく、テーブルの型に対応する.NETの型(例:System.String・System.Int32)
DefaultValue 列のデフォルト値
MaxLength 列の最大長
Unique ユニーク(一意)項目の場合True

サンプルコード

サンプルコードのダウンロード

サンプルコードの実行には Microsoft Visual Studio 2008 以上のバージョンが必要です。 2008以外のバージョンではプロジェクトを開いた際にファイルの変換が必要な場合があります。その場合は変換後に実行してください。

検証環境

関連ページ