2010-11-04 8 views
1

Je crée un service Web pour obtenir les détails de l'employé dans l'application client. Pour ce faire, je l'ai suivi les étapes suivantes:Problème de service Web en C# .net

employé propertyclass:

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

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

De l'application client:

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. 

Répondre

2

Vous n'utilisez pas le DataSet renvoyé par le WS.

empweb.GetEmployeeById(empproperty); 

La ligne ci-dessus retourne un DataSet contenant les données interrogées.

+0

Ok, vous voulez dire ds = empweb.GetEmployeeById (empproperty); alors comment peupler le membre de la classe employeeproperty ici..par exemple pour afficher empname txtempname.text = ds.EmpName .... comment puis-je faire cela ??? – sain

+0

Vous devrez écrire le code pour cela. – leppie

+0

dataset.tables ("nom_table"). Rows (0) .item ("FieldName"). Tostring – PradeepGB