C# 调用Web服务函数将从Windows Phone返回字符串[]
我有一个web服务和一个返回字符串列表的方法。当我在Windows Phone应用程序中调用它并将其放入列表框时,结果是System.Data.SqlClient.SqlDataReader。我是网络服务新手,不知道问题是来自网络服务还是来自windors手机。 这是我的密码: 来自web服务的方法:C# 调用Web服务函数将从Windows Phone返回字符串[],c#,web-services,windows-phone-8,sql-server-2012,C#,Web Services,Windows Phone 8,Sql Server 2012,我有一个web服务和一个返回字符串列表的方法。当我在Windows Phone应用程序中调用它并将其放入列表框时,结果是System.Data.SqlClient.SqlDataReader。我是网络服务新手,不知道问题是来自网络服务还是来自windors手机。 这是我的密码: 来自web服务的方法: public string [] GetActions(string cnp) { string[] lista = new string[300];
public string [] GetActions(string cnp)
{
string[] lista = new string[300];
try
{
con.Open();
SqlCommand cmd = new SqlCommand("select Denumire from Actiuni where cnp='"+cnp+"'", con);
SqlDataReader re = cmd.ExecuteReader();
int k = 0;
while (re.Read())
{
lista[k++] = re.ToString();
}
re.Close();
}
catch (SqlException exception)
{
}
finally
{
con.Close();
}
return lista;
}
这是我的Windows Phone代码:
public void DesplayActions()
{
ServiceReference1.Service1SoapClient client = new ServiceReference1.Service1SoapClient();
client.GetActionsCompleted += client_ValidareActiuniCompleted;
client.GetActionsAsync(cnp);
}
void client_GetActionsCompleted(object sender, ServiceReference1.GetActionsCompletedEventArgs e)
{
for(int i=0;i<e.Result.Count;i++)
Listbox1.Items.Add(e.Result[i]);
}
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
DesplayActions();
}
public void DesplayActions()
{
ServiceReference1.Service1SoapClient客户端=新的ServiceReference1.Service1SoapClient();
client.GetActionsCompleted+=客户端_validareactionCompleted;
客户:GetActionsAsync(cnp);
}
无效客户端\u GetActionsCompleted(对象发送方,ServiceReference1.GetActionsCompletedEventArgs e)
{
对于(int i=0;i
就是你做错的地方。你在数据阅读器上调用了ToString
您要执行以下操作:
lista[k++] = rdr.GetString(0);
0表示结果集中的第一列,以字符串形式。用谷歌搜索SqlDataReader类以获取更多信息,或按名称而不是索引选择一列。Thx。这在web服务中现在起作用。但在WF应用程序中不起作用。我认为ListBox也有同样的问题,但我不知道其语法。它类似于在WFA中声明ListViewItem,然后添加子项。请添加更多详细信息-不清楚您要解决的问题是什么。
lista[k++] = rdr.GetString(0);