次の方法で共有


テーブルへの列の追加

DataTable には、テーブルの Columns プロパティによって参照される DataColumn オブジェクトのコレクションが格納されます。この列のコレクションと制約によって、テーブルのスキーマ (構造) が定義されます。

テーブル内で DataColumn オブジェクトを作成するには、DataColumn コンストラクタを使用するか、DataColumnCollection の 1 つである、テーブルの Columns プロパティの Add メソッドを呼び出します。Add メソッドは、オプションの ColumnNameDataTypeExpression の各引数を受け入れ、新しい DataColumn をコレクションのメンバとして作成します。また、このメソッドは既存の DataColumn オブジェクトを受け入れ、このオブジェクトをコレクションに追加し、要求された場合には追加された DataColumn への参照を返します。DataTable オブジェクトはデータ ソースに依存しないため、DataColumn のデータ型を指定するときには、.NET Framework 型が使用されます。

DataTable に 4 つの列を追加する例を次に示します。

Dim workTable As DataTable = New DataTable("Customers")

Dim workCol As DataColumn = workTable.Columns.Add("CustID", Type.GetType("System.Int32"))
workColumn.AllowDBNull = false
workColumn.Unique = true

workTable.Columns.Add("CustLName", Type.GetType("System.String"))
workTable.Columns.Add("CustFName", Type.GetType("System.String"))
workTable.Columns.Add("Purchases", Type.GetType("System.Double"))
[C#]
DataTable workTable = new DataTable("Customers");

DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;

workTable.Columns.Add("CustLName", typeof(String));
workTable.Columns.Add("CustFName", typeof(String));
workTable.Columns.Add("Purchases", typeof(Double));

この例では、DBNull 値を許可せずに値を一意の値に制約するように、CustID 列のプロパティが設定されています。ただし、CustID 列をテーブルの主キー列として定義した場合、AllowDBNull プロパティは自動的に false に設定され、Unique プロパティは自動的に true に設定されます。詳細については、「テーブルの主キーの定義」を参照してください。

**注意   **列名が指定されていない列を DataColumnCollection に追加した場合、その列の名前は既定の列名 ColumnN になります。この既定名は "Column1" から始まり、連続する番号が割り当てられていきます。列名を指定するときには、"ColumnN" の形式の名前を使用しないことをお勧めします。これは、指定した名前が DataColumnCollection に既に存在する既定の列名と競合しないようにするためです。指定した名前が既に存在する場合は、例外がスローされます。

参照

DataTable の作成と使用 | DataColumn クラス | DataColumnCollection クラス | DataTable クラス