2016-04-21 88 views
1

因爲我在C#中很新,我想知道哪個是多個數據表管理的好選擇。我有一個包含100個datatables的項目(假設彼此相似但列號不同)。我不知道如何收集它們,我需要一組數據表嗎? (ps:datatables是在運行時創建的,它們的數量可能有所不同) 感謝您提前收集C#中的多個數據表#

+0

感謝所有的答案,現在我知道該怎麼做。我仍然感到困惑,因爲除了你的建議代碼(對我來說工作正常),在visual studio中,我看到ad add-> new item-> dataset,它創建了一大堆文件,如.xsd和其他。這也是一個數據集嗎?這是實施它的另一種方式?或者它與其他功能有關?非常感謝您的幫助 –

回答

0

在這種情況下,您可以使用DataSet。通過這個課程,你可以收集許多數據表並與他們一起工作。數據表存儲在DataSet.Tables屬性中。

數據集就像一個數據庫......包含許多關係表等。

0

您可以使用Dataset,它本身是DataTable對象的集合。所以你可以添加/管理/刪除數據表。數據集可以容納多個表,並且您可以定義這些表之間的關係。

dataContainer如下定義一個數據集:

DataSet dataContainer = new DataSet();   

考慮方法addtableToSet()這將顯示how to add數據表到DataSet,並RemoveTableFromSet()你會how to remove展示他們基於名稱。

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); 
} 
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"];