DataTable の作成 (ADO.NET)
更新 : November 2007
DataTable は 1 つのインメモリ リレーショナル データのテーブルを表します。DataTable は単独で作成および使用することも、他の .NET Framework オブジェクトから DataSet のメンバとして使用することもできます。
DataTable オブジェクトは、適切な DataTable コンストラクタを使用することにより作成できます。このオブジェクトを DataSet に追加するには、Add メソッドを使用して、DataTable オブジェクトの Tables コレクションにオブジェクトを追加します。
DataSet の内部で DataTable オブジェクトを作成する場合は、DataAdapter オブジェクトの Fill メソッドまたは FillSchema メソッドを使用できます。また、定義済みまたは推論による XML スキーマで、DataSet の ReadXml、ReadXmlSchema、または InferXmlSchema の各メソッドを使用して作成することもできます。DataTable を 1 つの DataSet の Tables コレクションのメンバとして追加した後で、その DataTable を他の DataSet のテーブルのコレクションに追加することはできません。
最初に作成した時点では、DataTable にはスキーマ (構造) がありません。テーブルのスキーマを定義するには、DataColumn オブジェクトを作成し、テーブルの Columns コレクションに追加する必要があります。テーブルの主キー列を定義したり、Constraint オブジェクトを作成してテーブルの Constraints コレクションに追加したりすることもできます。DataTable のスキーマを定義した後で、DataRow オブジェクトをテーブルの Rows コレクションに追加することにより、データ行をテーブルに追加できます。
DataTable を作成するときに TableName プロパティの値を指定する必要はありません。このプロパティは、後から指定することも、空のままにしておくこともできます。ただし、TableName 値のないテーブルを DataSet に追加した場合、そのテーブルの名前は既定のテーブル名 TableN になります。この既定名は Table0 に相当する "Table" から始まり、連続する番号が割り当てられていきます。
メモ : |
---|
TableName 値を指定するときには、"TableN" の命名規則を使用しないことをお勧めします。これは、指定した名前が DataSet に既に存在する既定のテーブル名と競合しないようにするためです。指定した名前が既に存在する場合は、例外がスローされます。 |
DataTable オブジェクトのインスタンスを作成し、"Customers" という名前を割り当てる例を次に示します。
Dim workTable as DataTable = New DataTable("Customers")
DataTable workTable = new DataTable("Customers");
DataTable のインスタンスを作成し、DataSet の Tables コレクションに追加する例を次に示します。
Dim customers As DataSet = New DataSet
Dim customersTable As DataTable = _
customers.Tables.Add("CustomersTable")
DataSet customers = new DataSet();
DataTable customersTable = customers.Tables.Add("CustomersTable");
参照
概念
DataAdapter からの DataSet の読み込み (ADO.NET)
XML からの DataSet の読み込み (ADO.NET)
XML の DataSet スキーマ情報の読み込み (ADO.NET)