在 Web 服务中返回数据

本文关键字:返回 数据 服务 Web | 更新日期: 2023-09-27 18:34:15

我想将字符串传递给我的查询,如果我自己输入"WHERE"部分,它能够显示我的所有记录。 所以我修改了它,以便用户可以根据需要搜索查询......代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class EmployeeWebService : System.Web.Services.WebService
{
    List<Employee> list = new List<Employee>();
    public EmployeeWebService ()
    {
        string cs = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        SqlConnection conn = null;
        SqlDataReader reader = null;
        try
        {
            conn = new SqlConnection(cs);
            //search the data based on the data key in
            string sql = "SELECT * FROM member WHERE userType = '" + ?? + "'";
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                list.Add(new Employee { fullName = reader["fullName"].ToString(), password = reader["password"].ToString(), userType= reader["userType"].ToString() });
            }
        }
        catch (Exception e)
        {
            HttpContext.Current.Trace.Warn("Error", "error in getcustomer()", e);
        }
    }
    [WebMethod]
    public Employee GetEmployeeDetails(string userType)
    {
        //i need to return this data back to the query
        string type = userType.ToString();
        return type;
    }
}

错误信息

Error: Cannot implicitly convert type 'string' to 'Employee'

在 Web 服务中返回数据

返回多个员工对象

[WebMethod]
public List<Employee> GetEmployeeDetails(string userType)
{
   //search the member table looking for a matching userType value
   string sql = "SELECT * FROM member WHERE userType = '" + ?? + "'";
   SqlCommand cmd = new SqlCommand(sql, conn);
   conn.Open();
   List<Employee> employeeList = new List<Employee>();
   reader = cmd.ExecuteReader();
   while (reader.Read())
   {
      var emp = new Employee(
          { 
              fullName = reader["fullName"].ToString(), 
              password = reader["password"].ToString(), 
              userType = reader["userType"].ToString()
          });
      employeeList.Add(emp);
   }
   reader.close();
   return employeeList;
}