Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用web服务检索多个数据库列_C#_Sql Server_Web Services - Fatal编程技术网

C# 使用web服务检索多个数据库列

C# 使用web服务检索多个数据库列,c#,sql-server,web-services,C#,Sql Server,Web Services,我正在尝试使用web服务检索多个列的数据。下面的代码可以正常工作: public string GetCustomerNameWithIDNumber(string id_number) { string fullname =""; string id_type = ""; string id_number = ""; string dob = ""; using (SqlConnection cn = new SqlConnection(constri

我正在尝试使用web服务检索多个列的数据。下面的代码可以正常工作:

public string GetCustomerNameWithIDNumber(string id_number)
{
    string fullname ="";
    string id_type = "";
    string id_number = "";
    string dob = "";

    using (SqlConnection cn = new SqlConnection(constring))
    {
        cn.Open();
        string q = "select fullname, id_type, id_number, date_ofbirth from account_info where id_number = @id_number";

        using (SqlCommand cmd = new SqlCommand(q, cn))
        {
            cmd.Parameters.AddWithValue("@id_number", id_number);

            using (SqlDataReader rd = cmd.ExecuteReader())
            {
                while (rd.Read())
                {
                    fullname = rd["fullname"].ToString();
                    id_type = rd["id_type"].ToString();
                    id_number = rd["id_number"].ToString();
                    dob = rd["date_ofbirth"].ToString();
                    bvn2 = rd["bvn"].ToString();
                }
            }

            return fullname;
        }
    }
}

仅获取全名,现在假设我想获取不止一个数据库列的全名,我该怎么做?

您将需要返回一个类。我编写了一个简单的类来保存这些数据:

class Customer {
    public string FullName { get; set; }
    public string IdType { get; set; }
    public string IdNumber { get; set; }
    public string DateOfBirth { get; set; }
    public string Bvn { get; set; }
}
然后此方法返回该customer对象:

public Customer GetCustomerNameWithIDNumber(string id_number) {
    using (SqlConnection cn = new SqlConnection(constring)) {
        cn.Open();
        string q = "select fullname,id_type,id_number,date_ofbirth from account_info where id_number =@id_number";

        using (SqlCommand cmd = new SqlCommand(q, cn)) {
            cmd.Parameters.AddWithValue("@id_number", id_number);
            using (SqlDataReader rd = cmd.ExecuteReader()) {
                while (rd.Read()) {
                    return new Customer {
                        FullName = rd["fullname"].ToString(),
                        IdType= rd["id_type"].ToString(),
                        IdNumber = rd["id_number"].ToString(),
                        DateOfBirth = rd["date_ofbirth"].ToString(),
                        Bvn = rd["bvn"].ToString()
                    };
                }
            }
        }
    }
}

此代码将返回数据库中与
id\u编号匹配的第一个客户

表示无法将类型customer隐式转换为StringYou更新函数定义以返回
客户
。(此行<代码>公共客户GetCustomerNameWithIDNumber(字符串id\U编号){)