我已经搜索了很长时间,尝试了不同的方法来解决这个问题而没有任何成功。
我目前的计划如下:
我在DAL中收到一个字符串数组,我尝试通过Web服务发送到Windows窗体程序中的Controller
。但收到错误:
不能隐含转换类型 ' WindowsFormApplication.ServiceReference1.ArrayOfString'至 '&System.Collections.Generic.List LT;串[]>'
控制器形式:
public List<string[]> GetAllEmployee()
{
return client.GetAllEmployee();
}
web服务:
public List<string[]> GetAllEmployee()
{
return cont.GetAllEmployee();
}
DAL:
public List<string[]> GetAllEmployee()
{
GetConnection();
con.Open();
stmt = con.CreateCommand();
stmt.CommandText = "SELECT [No_],[First Name],[Last Name],[Initials],[Job Title],[E-Mail] FROM [CRONUS Sverige AB$Employee]";
OdbcDataReader reader = stmt.ExecuteReader();
List<string[]> allEmployee = new List<string[]>();
String[] cols = new string[5];
for (int i = 0; i < cols.Length; ++i)
{
cols[i] = reader.GetName(i);
}
allEmployee.Add(cols);
while (reader.Read())
{
string[] s = new string[cols.Length];
for (int i = 0; i < s.Length; ++i)
{
s[i] = reader.GetValue(i).ToString();
}
allEmployee.Add(s);
}
con.Close();
return allEmployee;
}
控制器:
public List<string[]> GetAllEmployee()
{
return dal.GetAllEmployee();
}
客户端:
ServiceReference1.WebService1SoapClient client = new ServiceReference1.WebService1SoapClient();
答案 0 :(得分:0)
您的服务会返回WindowsFormApplication.ServiceReference1.ArrayOfString
类型,需要使用ToList明确转换为List<string>
方法:
return dal.GetAllEmployee().ToList();