1

我正在创建用于在客户端应用程序中获取员工详细信息的 Web 服务。为了实现这一点,我遵循了以下步骤:

员工财产类:

public class EmployeeProperty
{
    #region class Members.
    private string _employeeid;
    private string _employeename;   
    #endregion

    #region class property.

    public string EmployeeID
    {
      get { return _employeeid; }
      set { _employeeid = value; }
    }

    public string EmployeeName
    {
      get { return _employeename; }
      set { _employeename = value; }
    }

EmployeeDAL 类:

public DataSet GetEmployeeById(EmployeeProperty employee)
{
  SqlConnection conn = new SqlConnection(connStr);    
  conn.Open();   

  // building the command
  SqlCommand oCommand = new SqlCommand("GetEmployeeById", conn);
  oCommand.CommandType = CommandType.StoredProcedure;

  // Parameters 
  SqlParameter paraemployeeId = new SqlParameter();
  paraemployeeId.ParameterName = "@employeeId";
  paraemployeeId.SqlDbType = SqlDbType.VarChar;
  paraemployeeId.Size = 15;
  paraemployeeId.Direction = ParameterDirection.Input;
  paraemployeeId.Value = employee.EmployeeID;
  oCommand.Parameters.Add(paraemployeeId);

  // Adapter and DataSet
  SqlDataAdapter oAdapter = new SqlDataAdapter();

  oAdapter.SelectCommand = oCommand;
  DataSet oDataSet = new DataSet();

  try
  {       
    oAdapter.Fill(oDataSet, "Employee");

    if (oDataSet.Tables[0].Rows.Count > 0)
    {
      employee.EmployeeID = oDataSet.Tables[0].Rows[0]["Emp_ID"].ToString();
      employee.EmployeeName = oDataSet.Tables[0].Rows[0]["Emp_Name"].ToString();         
      return oDataSet;
    }
    else
    {
      throw new ApplicationException("Business object not found.");
    }
  }
  catch (Exception oException)
  {       
    throw;
  }
  finally
  {
    conn.Close();
  }
}

网络服务类:

public class EmployeeWebService : System.Web.Services.WebService
{

[Webmethod]
public DataSet GetEmployeeById(EmployeeProperty employee)
{
    DataSet ds = new DataSet();
    EmployeeDAL empdal=new EmployeeDAL();
    return empdal.GetEmployeeById(employee);
}
}

从客户端应用程序:

    webservice .EmployeeWebService empweb = new webservice .EmployeeWebService();       

    EmployeeProperty empproperty = new EmployeeProperty();         

    string empid = Txtempid.Text;

    empproperty.EmpID = empid;

    empweb.GetEmployeeById(empproperty);

    Txtempid.Text = empproperty.EmployeeID;

    Txtempname.Text = empproperty.EmployeeName;

    ....like this other values should display…..but not displaying the employee name in the text box its showing empty   value...

   What i done is correct????pls help its not working...how can i achieve it.
4

1 回答 1

2

您没有使用DataSetWS 返回的。

empweb.GetEmployeeById(empproperty);

上面的行返回一个DataSet包含查询数据的。

于 2010-11-04T09:07:59.337 回答