如何用一个方法返回多个表

本文关键字:返回 方法 何用一 | 更新日期: 2023-09-27 17:53:57

我有一个类,其中的方法将被用作web服务(REST) -> XML输出。这是为了从数据库中获取一些数据,这些数据可以用来从excel中导入。

虽然我必须返回一个表,但没有问题(方法看起来像这样):

public DataTable CountryKitUPH(string date, string fhour, string thour)
{
     date = Dates(date);
     var from = date + ' ' + fhour + ":00";
     var to = date + ' ' + thour + ":00";
     var sqlCommand = "exec rptPMCountryKitUPH_sp @trantype='REPORT', @fromdt='" + from + "', @todt='" + to + "'";
     var dataContext = DataContextFactory.GetShopFloorDataContext(Guid.Empty);
     var dt = Core.Data.Utility.QueryToDataTable(Guid.Empty, DataContextFactory.SecurityKey, sqlCommand);
     dt.TableName = "Country Kit UPH";
     return dt;
}

但是现在我必须做报告,它返回多个表-每个"行"参数一组表。

这个方法应该返回更多这样的值。我可以想象它看起来像XML,我只是不知道如何返回它(因为我还不能发布图像,我将尝试写出我认为XML应该是什么样子的:

<line name='L1'>
    <minitable>
        <row no="1">
            <column name="event 1">13</column>
            <column name="event 2">35</column>
            <column name="event 3">78</column>
        </row>
    </minitable>
    <table>
        (content)
    </table>
</line>
<line name='L2'>
    <minitable>
        (content)
    </minitable>
    <table>
        (content)
    </table>
</line>

所以请-我应该选择什么数据类型来返回这样的多个表,或者,如何在xml中包装这些?

Thanks to lot

如何用一个方法返回多个表

用这样的东西?

public DataTable[] MultipleMethod(args)
{
    List<DataTable> list = new List<DataTable>();
    // Load first DataTable
    DataTable dt = ...
    list.Add(dt);  // Add the DataTable to the list of tables
    // Load second DataTable
    dt = ...
    list.Add(dt);  // Add the DataTable to the list of tables
    // Load another DataTable
    dt = ...
    list.Add(dt);  // Add the DataTable to the list of tables
    return list.ToArray();  // Return an array of tables (can return the list if that is the return type)
}