次の方法で共有


DataTable の作成

メモリ内リレーショナル データの 1 つのテーブルを表す DataTableは、個別に作成および使用することも、他の .NET Framework オブジェクト (最も一般的には DataSetのメンバーとして) 使用することもできます。

DataTable オブジェクトは、適切な DataTable コンストラクターを使用して作成できます。 これを DataSet に追加するには、 Add メソッドを使用して DataSet オブジェクトの Tables コレクションに追加します。

DataTable オブジェクトを DataSet 内に作成するためには、DataAdapter オブジェクトの Fill あるいは FillSchema メソッドを使用するか、定義済みまたは推論された XML スキーマから、DataSetReadXmlReadXmlSchema、または InferXmlSchema メソッドを使用します。 DataTable を 1 つの DataSetTables コレクションのメンバーとして追加した後は、他の DataSet のテーブルのコレクションに追加できないことに注意してください。

最初に DataTable を作成するときに、スキーマ (つまり構造体) はありません。 テーブルのスキーマを定義するには、テーブルの DataColumn コレクションオブジェクトを作成して追加する必要があります。 テーブルの主キー列を定義し、 Constraint オブジェクトを作成してテーブルの Constraints コレクションに追加することもできます。 DataTable のスキーマを定義したら、テーブルの Rows コレクションに DataRow オブジェクトを追加することで、データ行をテーブルに追加できます。

TableName を作成するときに、 プロパティの値を指定する必要はありません。別の時点でプロパティを指定することも、空のままにすることもできます。 ただし、 TableName 値を持たないテーブルを DataSet に追加すると、テーブルには、Table0 の "Table" から始まる増分の既定の名前である TableN が指定されます。

TableName 値を指定する場合は、DataSet の既存の既定のテーブル名と競合する可能性があるため、"TableN" 名前付け規則は使用しないことをお勧めします。 指定された名前が既に存在する場合は、例外がスローされます。

次の例では、 DataTable オブジェクトのインスタンスを作成し、"Customers" という名前を割り当てます。

Dim workTable as DataTable = New DataTable("Customers")  
DataTable workTable = new DataTable("Customers");  

次の例では、 DataSetTables コレクションに追加して、 DataTable のインスタンスを作成します。

Dim customers As DataSet = New DataSet  
Dim customersTable As DataTable = _  
   customers.Tables.Add("CustomersTable")  
DataSet customers = new DataSet();  
DataTable customersTable = customers.Tables.Add("CustomersTable");  

こちらも参照ください