如何用一个方法返回多个表
本文关键字:返回 方法 何用一 | 更新日期: 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)
}