为了账号安全,请及时绑定邮箱和手机立即绑定

WebService 不会将信息填充到 Winform 上的文本字段中

WebService 不会将信息填充到 Winform 上的文本字段中

C#
茅侃侃 2021-12-05 16:46:05
我有一个挑战,我最近编写了一个 Web 服务,它能够从 MSSQL Server 获取数据并以 xml 显示。看起来像这样客户.csusing System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for Customer/// </summary>public class Customer{    public string fullname { get; set; }    public string address { get; set; }    public string city { get; set; }    public string state { get; set; }    public string id_type { get; set; }    public string id_number { get; set; }    public string dob { get; set; }    public string bvn { get; set; }}并使用它从 Web 服务检索数据,如下所示:FetchInformationBVNService.cspublic Customer GetCustomerNameWithBVN(string bvn_search){    using (SqlConnection cn = new SqlConnection(constring))    {        cn.Open();        string q = "select fullname,address,city,state,id_type,id_number,date_ofbirth,bvn from account_info where bvn =@bvn";        using (SqlCommand cmd = new SqlCommand(q, cn))        {            cmd.Parameters.AddWithValue("@bvn", bvn_search);            using (SqlDataReader rd = cmd.ExecuteReader())            {                if (rd.Read())                {                    return new Customer                    {                        fullname = rd["fullname"].ToString(),                        address = rd["address"].ToString(),                        city = rd["city"].ToString(),                        state = rd["state"].ToString(),                        id_type = rd["id_type"].ToString(),                        id_number = rd["id_number"].ToString(),                        dob = rd["date_ofbirth"].ToString(),                        bvn = rd["bvn"].ToString()                    };                }return null;            }        }    }}一切正常,在 IIS Express 上测试,无后顾之忧。现在我在这里创建了一个 Winform 我想使用相同的 Web 服务,以便它可以使用以下命名控件填充一些 textField:fullname.Text,address.Text,city.Text,state.Text,id_type.Text,id_number.Text ,bvn.Text。
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

一些变化:


 private void button5_Click(object sender, EventArgs e)

    {

        newAccountSearchByBVN.Customer cs; //no need to create new object, you'll be receiving it from server

        newAccountSearchByBVN.FetchInformationBVNService nacc = new newAccountSearchByBVN.FetchInformationBVNService();

        cs = nacc.GetCustomerNameWithBVN(bvn_search.Text); //instead of saving your Customer to string, save it to cs variable you already 

        if (cs != null) //check if you've received object, it's not null

        {

            //order was wrong. You want to populate text boxes, and you were taking data from text boxes here...

            fullname.Text = cs.fullname;

            address.Text = cs.address;

            city.Text = cs.city;

            state.Text = cs.state;

            id_type.Text = cs.id_type;

            id_number.Text = cs.id_number;


        }

}

附加提示,您应该考虑为正确的数据使用正确的类型。例如(id_type并且id_number不应该是string,但是int)


查看完整回答
反对 回复 2021-12-05
  • 1 回答
  • 0 关注
  • 194 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信