2015-02-07 22 views
1

我有問題要在1個數據集中添加多個表,我只能在1個數據集中加載1個表。我無法獲取1個數據集中的客戶表和項目表。我在哪裏做錯了?這是我第一次做與C#程序如何讓數據集包含多個表?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Xml.Linq; 
using System.Data; 

namespace DataSET 
{ 
    class Program 
    { 

     static void Main(string[] args) 
     { 

      GetCustDetail(); 
      GetItemDetail(); 


     } 

     public static void GetCustDetail() 
     { 
      DataSet dataSet = new DataSet(); 

      DataTable cust_Table = new DataTable(); 
      dataSet.ReadXml("CustDetail.xml", XmlReadMode.ReadSchema); 





      DataColumn cust_Column = cust_Table.Columns.Add("CustID", typeof(Int32)); 
      cust_Column.AllowDBNull = false; 
      cust_Column.Unique = true; 



      cust_Table.Columns.Add("CustLName", typeof(String)); 
      cust_Table.Columns.Add("Purchases", typeof(Double)); 

      foreach (DataTable dataTable in dataSet.Tables) 
       cust_Table.BeginLoadData(); 

      dataSet.ReadXml("CustDetail.xml"); 

      foreach (DataTable dataTable in dataSet.Tables) 
       cust_Table.EndLoadData(); 

      dataSet.Tables.Add(cust_Table); 
      dataSet.AcceptChanges(); 
     } 

     public static void GetItemDetail() 
     { 
      DataSet dataSet = new DataSet(); 

      DataTable item_Table = new DataTable(); 
      dataSet.ReadXml("ItemDetail.xml", XmlReadMode.ReadSchema); 



      DataColumn item_Column = item_Table.Columns.Add("ItemID", typeof(Int32)); 
      item_Column.AllowDBNull = false; 
      item_Column.Unique = true; 



      item_Table.Columns.Add("ItemName", typeof(String)); 
      item_Table.Columns.Add("Decription", typeof(Double)); 

      foreach (DataTable dataTable in dataSet.Tables) 
       item_Table.BeginLoadData(); 

      dataSet.ReadXml("ItemDetail.xml"); 

      foreach (DataTable dataTable in dataSet.Tables) 
       item_Table.EndLoadData(); 

      dataSet.Tables.Add(item_Table); 
      dataSet.AcceptChanges(); 
     } 



    } 
} 

回答

0

您還沒有添加上你的數據集的數據表..

你可以這樣對數據集添加數據表:

DataSet ds = new DataSet(); 

DataTable dt1 = new DataTable(); 
DataTable dt2 = new DataTable(); 

ds.Tables.Add(dt1); 
ds.Tables.Add(dt2); 

希望這有助於:)

+0

是的,我可以在1個數據集中添加兩個表,但是我的數據無法正確加載到表中。我可以分別加載2個表並將它們加載到每個表中,但是當我組合成1個具有2個表的數據集時,它只能成功加載第2個表數據,而第1個表數據無法加載到它上面。 ..是我需要使用「清除」? – iop 2015-02-07 13:46:18

0

要添加多個表,您的兩個數據表具有相同的列名和相同的列號,請使用以下代碼:

   DataSet ds = new DataSet(); 
       ds.Tables.Add(Table1); 
       ds.Tables.Add(Table2); 
       ds.AcceptChanges(); 
+0

如果我沒有相同的列名和相同的列號?是的,我可以在1個數據集中添加兩個表,但我的數據無法正確加載到表中,例如,我可以分別加載2個表並將它們加載到每個表中,但是當我組合成1個具有2個表的數據集時,它只能成功加載第2個表數據,而第1個表數據無法加載到它上面。 ..是我需要使用「清除」? – iop 2015-02-07 13:47:38

+0

@iop **如果我沒有相同的列名和相同的列號?** – User125 2015-02-07 13:53:12

+0

我已經編輯了我的代碼,如上所述,我無法添加我的數據爲第一個表。 – iop 2015-02-07 14:02:52

相關問題