在C#中收集多个数据表

时间:2016-04-21 08:42:20

标签: c# datatable

因为我是C#的新手,所以我想知道哪个是多个数据表管理的好选择。我有一个大约有100个数据表的项目(让我们说彼此相似但列号不同)。我不知道如何收集它们,我需要一组数据表吗? (ps:数据表是在运行时以dinamically方式创建的,它们的数量可能会有所不同) 提前谢谢你

3 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用DataSet。使用此类,您可以收集许多DataTable并使用它们。 DataTable存储在DataSet.Tables属性中。

数据集就像一个数据库......包含许多具有关系的表,依此类推。

答案 1 :(得分:0)

您可以使用Dataset,它本身就是DataTable对象的集合。所以你可以从中添加/管理/删除数据表。 DataSet可以容纳多个表,您可以定义这些表之间的关系。

dataContainer成为如下定义的数据集:

DataSet dataContainer = new DataSet();           

考虑方法addtableToSet(),它会向DataSet显示how to add个数据表,RemoveTableFromSet()会根据名称向您显示how to remove个。{/ p>

public void addtableToSet()
{
    DataTable tableA = new DataTable("TableA");
    DataTable tableB = new DataTable("TableB");
    DataTable tableC = new DataTable("TableC");
    dataContainer.Tables.Add(tableA);
    dataContainer.Tables.Add(tableB);
    dataContainer.Tables.Add(tableC);
    dataContainer.Tables.Add(new DataTable("TableD"));
}

public void RemoveTableFromSet(string tableName)
{
    dataContainer.Tables.Remove(tableName); 
}

答案 2 :(得分:0)

这一切都取决于数据表生成后要对数据表执行的操作。

如果每个数据表都有唯一的名称,则可以将它们全部保存在字典中。

DataTable GeneratedTable1;
DataTable GeneratedTable2;

Dictionary<string, DataTable> DataTableDictionary = new Dictionary<string, DataTable>();

// Adding the tables to the Dictionary
DataTableDictionary.Add("MyUniqueName1", GeneratedTable1);
DataTableDictionary.Add("MyUniqueName2", GeneratedTable2);

// Lookup a DataTable     
DataTable MyLookedUpDataTable = DataTableDictionary["MyUniqueName1"];