繁体   English   中英

调用Web服务功能从Windows Phone返回字符串[]

[英]Calling Web Service Function returns a string[] from Windows Phone

我有一个Web服务和一个返回字符串列表的方法。 当我在Windows Phone应用程序中调用它并将其放入列表框时,结果为System.Data.SqlClient.SqlDataReader 我是Web服务的新手,我不知道问题是来自Web服务还是来自Windors电话。 这是我的代码:

来自Web服务的方法:

    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();

    }
lista[k++] = re.ToString();

这是你做错了的地方。 您已经在数据读取器上调用了ToString。

您想这样做:

lista[k++]  = rdr.GetString(0);

0表示结果集中的第一列,为字符串。 Google的SqlDataReader类获取更多信息,或通过名称而不是索引选择列。

谢谢。 现在可以在Web服务中工作了。 但不适用于WF应用程序。 我觉得ListBox是同样的问题,但是我不知道它的语法。 就像在WFA中点头声明一个ListViewItem,然后添加子项一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM