【问题标题】:How to combine two DataSet Tables into one如何将两个 DataSet 表合并为一个
【发布时间】:2014-04-24 12:22:22
【问题描述】:

我正在尝试按照上述方式将两个DataSet.tables 合并到一张表中。我想知道是否可以这样做。我调用我的存储过程,它返回我将它们设置到表中的值。 (如下图所示)。

试过了:

在映射部分添加两个表名("Tables", IncomingProductTotals)

将两者作为一个表添加到映射部分("Tables", IncomingProductTotals1)("Tables", TotalDownTimeResults1)

我能找到的大量研究是关于 sql 连接表。

SqlCommand cmd = new SqlCommand("L_GetTimeTotals", conn);
cmd.Parameters.Add("@startTime", SqlDbType.DateTime, 30).Value = RadDateTimePicker2.SelectedDate;
cmd.Parameters.Add("@endTime", SqlDbType.DateTime, 30).Value = RadDateTimePicker3.SelectedDate;
cmd.CommandType = CommandType.StoredProcedure;

SqlDataAdapter da = new SqlDataAdapter(cmd);

var ds = new DataSet();

ds.Tables.Add("IncomingProductTotals");
ds.Tables.Add("IncomingProductTotalsA");
ds.Tables.Add("IncomingProductTotalsB");
ds.Tables.Add("IncomingProductTotals1");
ds.Tables.Add("IncomingProductTotalsA1");
ds.Tables.Add("IncomingProductTotalsB1");

da.TableMappings.Add("Table", "IncomingProductTotals");
da.TableMappings.Add("Table1", "IncomingProductTotalsA");
da.TableMappings.Add("Table2", "IncomingProductTotalsB");
da.TableMappings.Add("Table3", "IncomingProductTotals1");
da.TableMappings.Add("Table4", "IncomingProductTotalsA1");
da.TableMappings.Add("Table5", "IncomingProductTotalsB1");

da.Fill(ds);

ds.Tables.Remove("IncomingProductTotalsA");
ds.Tables.Remove("IncomingProductTotalsB");
ds.Tables.Remove("IncomingProductTotalsA1");
ds.Tables.Remove("IncomingProductTotalsB1");

ExcelHelper.ToExcel(ds, "TimeTotals.xls", Page.Response);

【问题讨论】:

    标签: c# dataset


    【解决方案1】:

    您是否尝试过 Merge 方法? http://msdn.microsoft.com/en-us/library/system.data.datatable.merge(v=vs.110).aspx

    foreach(var t in ds.Tables.Skip(1))
    {
        t.Merge(ds.Tables[0]);
    }
    

    编辑: 跳过是 Linq。你也可以使用它:

    for(int i = 1; i < ds.Tables.Count - 1; i++) 
        ds.Tables[i].Merge(ds.Tables[0]);
    

    【讨论】:

    • 抱歉跳过延迟回复?
    • 不包含“跳过”的定义。
    • Skip 是 System.Linq 的扩展方法。
    • 我试过这个。我只得到了列,但没有得到另一个表的单元格值
    猜你喜欢
    • 1970-01-01
    • 2011-11-24
    • 2014-04-01
    • 2015-03-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    相关资源
    最近更新 更多