次の方法で共有


DataTable への列の追加 (ADO.NET)

更新 : November 2007

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"))
workCol.AllowDBNull = false
workCol.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"))
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 に設定されます。詳細については、「主キーの定義 (ADO.NET)」を参照してください。

hfx3s9wd.alert_caution(ja-jp,VS.90).gif注意 :

列名が指定されていない列を DataColumnCollection に追加する場合、この列には "Column1" から始まるインクリメンタル既定名 ColumnN が割り当てられます。列名を指定するときには、"ColumnN" の命名規則を使用しないことをお勧めします。これは、指定した名前が DataColumnCollection に既に存在する既定の列名と競合しないようにするためです。指定した名前が既に存在する場合は、例外がスローされます。

参照

参照

DataColumn

DataColumnCollection

DataTable

その他の技術情報

DataTable スキーマの定義 (ADO.NET)

DataTable (ADO.NET)