C# 将两个数据集的结果合并为一个
我创建了一个webservice,它返回两个数据集(返回类型)作为结果。 是否可以将两个数据集结果合并为一个,以便在一个数据列表上显示?我尝试使用C# 将两个数据集的结果合并为一个,c#,web-services,dataset,datalist,C#,Web Services,Dataset,Datalist,我创建了一个webservice,它返回两个数据集(返回类型)作为结果。 是否可以将两个数据集结果合并为一个,以便在一个数据列表上显示?我尝试使用arraylist,但它在datalist中不返回任何内容 GetDepartureFlightsDetails()和getDepartureFlights()都返回数据集值 下面是我用来检索webservice结果的方法 public ArrayList GetDepartureFlightsDetails(String departurecount
arraylist
,但它在datalist
中不返回任何内容
GetDepartureFlightsDetails()
和getDepartureFlights()
都返回数据集值
下面是我用来检索webservice结果的方法
public ArrayList GetDepartureFlightsDetails(String departurecountry, String arrivalcountry, DateTime departuredate)
{
DLSA datalayerTS = new DLSA();
DLJS datalayerJW = new DLJS();
ArrayList array = new ArrayList();
array.Add(datalayerSA.GetDepartureFlightsDetails(departurecountry, arrivalcountry, departuredate));
array.Add(datalayerJW.getDepartureFlights(departurecountry, arrivalcountry, departuredate));
return array;
}
你不能创建一个包装类并使用包装类的
List
,
您可以使用以下方法,而不是数据集
:
更新:
public DataSet GetDepartureFlightsDetails(String departurecountry, String arrivalcountry, DateTime departuredate)
{
DLSA datalayerTS = new DLSA();
DLJS datalayerJW = new DLJS();
var firstDataSet = datalayerSA.GetDepartureFlightsDetails(departurecountry, arrivalcountry, departuredate));
var secondDataSet = datalayerJW.getDepartureFlights(departurecountry, arrivalcountry, departuredate));
firstDataSet.Merge(secondDataSet);
return firstDataSet;
}
FredHomme将数组声明更改为类似以下内容:ArrayList arList=new ArrayList();应该会使返回数组更容易阅读,不会因为数组与返回类型是ArrayList类型而混淆,这只是一个建议OK。很抱歉命名错误。只是一个建议。合并时,请注意新数据表中的重复行。如何将数据集结果添加到数据集?数据集优先=新数据集();那么?问题是“GetDepartureFlightsDetails()和getDepartureFlights()都返回一个数据集值”,我认为这意味着它们返回数据集。事实并非如此?这些方法的确切返回类型是什么?它们的返回类型是DataSet。所以我把return GetDepartureFlightsDetails()放进去。合并(getDepartureFlights())?但它返回一个错误“(无法隐式转换类型'System.Data.DataSet'”)
public DataSet GetDepartureFlightsDetails(String departurecountry, String arrivalcountry, DateTime departuredate)
{
DLSA datalayerTS = new DLSA();
DLJS datalayerJW = new DLJS();
var firstDataSet = datalayerSA.GetDepartureFlightsDetails(departurecountry, arrivalcountry, departuredate));
var secondDataSet = datalayerJW.getDepartureFlights(departurecountry, arrivalcountry, departuredate));
firstDataSet.Merge(secondDataSet);
return firstDataSet;
}