Проблема веб-сервиса в C # .net - PullRequest
1 голос
/ 04 ноября 2010

Я создаю веб-сервис для получения информации о сотруднике в клиентском приложении. Чтобы достичь этого, я выполнил следующие шаги:

класс имущества сотрудника:

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

WebserviceClass:

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.

1 Ответ

2 голосов
/ 04 ноября 2010

Вы не используете DataSet, возвращаемый WS.

empweb.GetEmployeeById(empproperty);

В приведенной выше строке возвращается DataSet, содержащий запрашиваемые данные.

...