次の方法で共有


DataTable スキーマ定義

テーブルのスキーマ (構造体) は、列と制約によって表されます。 DataTableのスキーマは、DataColumn オブジェクトとForeignKeyConstraintオブジェクトとUniqueConstraint オブジェクトを使用して定義します。 テーブル内の列は、データ ソース内の列にマップしたり、式の計算値を含めたり、値を自動的にインクリメントしたり、主キー値を含めたりすることができます。

テーブルの列、リレーション、および制約を名前で参照する場合は、大文字と小文字が区別されます。 そのため、同じ名前を持つテーブルに複数の列、リレーションシップ、または制約が存在する可能性がありますが、その場合は異なります。 たとえば、 Col1col1 を使用できます。 この場合、列を名前で参照するときは、列名の大文字と小文字を正確に指定する必要があります。正確に指定しない場合は、例外がスローされます。 たとえば、テーブル myTable に列 Col1 と col1 が含まれている場合は、名前で Col1myTable.Columns["Col1"]col1を myTable.Columns["col1"] として参照します。 いずれかの列を myTable.Columns["COL1"] として参照しようとすると、例外が生成されます。

大文字と小文字の区別の規則は、特定の名前の列、リレーション、または制約が 1 つしかない場合には適用されません。 つまり、テーブル内の他の列、リレーション、または制約オブジェクトがその特定の列、リレーション、または制約オブジェクトの名前と一致しない場合は、任意のケースを使用して名前でオブジェクトを参照でき、例外はスローされません。 たとえば、テーブルに Col1 のみが含まれている場合は、my を使用して参照できます 。Columns["COL1"].

CaseSensitive プロパティは、この動作には影響しません。 CaseSensitive プロパティはテーブル内のデータに適用され、並べ替え、検索、フィルター処理、制約の適用などには影響しますが、列、リレーション、制約への参照には影響しません。

このセクションにて

DataTable への列の追加
DataColumn オブジェクトを使用してテーブルの列を定義する方法について説明します。

式列の作成
列の Expression プロパティを使用して、行内の他の列の値に基づいて値を計算する方法について説明します。

AutoIncrement 列の作成
行ごとに一意の列値を確保するために数値を自動的にインクリメントするように列を設定する方法について説明します。

主キーの定義
1 つ以上の DataColumn オブジェクトからテーブルの主キーを指定する方法について説明します。

DataTable 制約
テーブル内の列の外部キー制約と一意制約を定義する方法について説明します。

こちらも参照ください