如何使数据集包含多个表



我在一个数据集中添加多个表时遇到了问题,我只能在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();
        }

    }
}

您没有在数据集上添加数据表。。

您可以在数据集上添加这样的数据表:

DataSet ds = new DataSet();
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);

希望能有所帮助:)

要添加多个表,您的两个数据表都有相同的列名和相同的列号,然后使用以下代码:

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

最新更新