[WebMethod]
public SimpleCompanyList GetSimpCompDataByKeywordFromTwoCity(string keyword)
...{
//获得广州的数据
itdb.SolutionDirWebServicesService obj_serv = new itdb.SolutionDirWebServicesService();
itdb.SimpleCompanyList clist;
clist = obj_serv.findCompanyListByKeyword(keyword, 1, 99999999);

DataTable dt1 = new DataTable();
dt1.Columns.Add("companyId");
dt1.Columns.Add("name");
dt1.Columns.Add("cName");
dt1.Columns.Add("solutionCount");
if (clist.totalNumber > 0)
...{
for (int i = 0; i < clist.arrayOfSimpleCompanyData.Length; i++)
...{
dt1.Rows.Add(clist.arrayOfSimpleCompanyData[i].companyId,
clist.arrayOfSimpleCompanyData[i].name,
clist.arrayOfSimpleCompanyData[i].cName,
clist.arrayOfSimpleCompanyData[i].solutionCount);
}
}
//获得本地的数据
SimpleCompanyList obj_smplist = getSimpCompDataByKeyword(keyword);

DataTable dt2 = new DataTable();
dt2.Columns.Add("companyId");
dt2.Columns.Add("name");
dt2.Columns.Add("cName");
dt2.Columns.Add("solutionCount");
if (obj_smplist.totalNumber > 0)
...{
for (int j = 0; j < obj_smplist.arrayOfSimpleCompanyData.Length; j++)
...{
dt2.Rows.Add(obj_smplist.arrayOfSimpleCompanyData[j].companyId,
obj_smplist.arrayOfSimpleCompanyData[j].name,
obj_smplist.arrayOfSimpleCompanyData[j].cName,
obj_smplist.arrayOfSimpleCompanyData[j].solutionCount);
}
}
//合并两张表
DataTable newDataTable = dt2.Clone();//创建和dt2相同的表
Object[] obj = new Object[newDataTable.Columns.Count];
for (int n = 0; n < dt1.Rows.Count; n++)
...{
dt1.Rows[n].ItemArray.CopyTo(obj, 0);//将第n行的数据拷贝到对象obj中
newDataTable.Rows.Add(obj);
}
for (int m = 0; m < dt2.Rows.Count; m++)
...{
dt2.Rows[m].ItemArray.CopyTo(obj, 0);//将第j行的数据拷贝到对象obj中
newDataTable.Rows.Add(obj);
}
int count = newDataTable.Rows.Count;
SimpleCompanyList sclt = new SimpleCompanyList();//创建一个SimpleCompanyList对象
int[] array = new int[3];
array[0] = clist.totalNumber;//广州的数据的数量
array[1] = obj_smplist.totalNumber;//江西的数据的数量
array[2] = obj_smplist.totalNumber + clist.totalNumber;//两地的数据的数量总和
sclt.totalCount = array;
sclt.totalNumber = count;//两地的数据总数
SimpleCompanyData[] scd = new SimpleCompanyData[count];//创建一个SimpleCompanyData数组对象
for (int j = 0; j < scd.Length; j++) //实例化数组
...{
scd[j] = new SimpleCompanyData();
}

for (int i = 0; i < count; i++)
...{
scd[i].companyId = Int32.Parse(newDataTable.Rows[i][0].ToString());
scd[i].name = newDataTable.Rows[i][1].ToString();
scd[i].cName = newDataTable.Rows[i][2].ToString();
scd[i].solutionCount = Int32.Parse(newDataTable.Rows[i][3].ToString());
}
sclt.arrayOfSimpleCompanyData = scd;
return sclt;
}
#endregion
本文介绍了一种通过Web服务从不同城市获取公司数据的方法,并演示了如何将这些数据整合到单一数据表的过程。涉及的主要步骤包括从远程服务获取数据、本地数据获取及数据表的合并。
3万+

被折叠的 条评论
为什么被折叠?



