只返回1个值的对象数据源函数

问题描述:

我为我的Gridview使用ObjectDataSource。 我用来返回值的函数只是返回表中最后一个值。 我做了哪些更改以返回所有值。只返回1个值的对象数据源函数

public class Employees 
    { 
     public int e_number; 
     public string e_name; 
     public string e_designation; 
     private SqlConnection conn = null; 
     private SqlCommand cmd = null; 
     private string constring = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 


     public Employees() 
     { 
      conn = new SqlConnection(constring); 
      cmd = new SqlCommand(); 
     } 
     public int Employee 
     { 
      get 
      { 
       return e_number; 
      } 
      set 
      { 
       e_number = value; 
      } 
     } 

     public string Name 
     { 
      get 
      { 
       return e_name; 
      } 
      set 
      { 
       e_name = value; 
      } 
     } 
     public string Designation 
     { 
      get 
      { 
       return e_designation; 
      } 
      set 
      { 
       e_designation = value; 
      } 
     } 


     public Employees GetEmployee() 
     { 
      string strquery = "select [Number],[Name],[Designation] from [Users]"; 
      conn.Open(); 
      cmd.Connection = conn; 
      cmd.CommandText = strquery; 
      SqlDataReader objSqlDataReader = cmd.ExecuteReader(); 
      int counter = 0; 
      // ArrayList myObj = new ArrayList(); 
      // Employees objEmployees = new Employees(); 
      Employees emp = null; 

      //if (objSqlDataReader.Read()) 
      while(objSqlDataReader.Read()) 
      { 
       emp = new Employees(); 
       // myObj[counter] = new Employees(); 
       // Employees employee = new Employees(); 
       emp.Employee = (int)objSqlDataReader["Number"]; 
       emp.Name=(string)objSqlDataReader["Name"]; 
       emp.Designation = (string)objSqlDataReader["Designation"]; 



       // objEmployees.e_number = (int)objSqlDataReader["Number"]; 
       // objEmployees.e_name = (string)objSqlDataReader["Name"]; 
       //objEmployees.e_designation = (string)objSqlDataReader["Designation"]; 


      } 

      conn.Close(); 
      return emp; 




      //return objEmployees; 



     } 
    } 
} 

我已经尝试了所有的方法,如制作对象的数组,但我无法。 请你能告诉我在我的代码中添加什么。

+0

你应该有只有属性单独Employee类和其他类EmployeeDataAccess这确实CRUD操作 – 2012-04-20 14:07:21

您需要返回员工列表。你退出循环后,您只返回一个单一的一个,最后一个实例:

public List<Employees> GetEmployees() 
{ 
    .. 
    List<Employees> emps = new List<Employees>(); 
    Employees emp = null; 

    while (..) 
    { 
     emp = new Employees(); 
     .. 
     emps.Add(emp); 
    } 

    return emps; 
} 
+0

我已经尝试了这个问题,以及。 代码工作正常,除了没有数据绑定到我的Gridview。 可能是什么问题? 早先在我的代码的一些部分我使用 列表 listofbadrows = new List (); listofbadrows.Add(dr); GridView2.DataSource = listofbadrows.CopyToDataTable(); 我该如何复制我的对象数据源 – 2012-04-20 14:11:18

+0

您的数据绑定代码是什么样子的,即GridView设置如何以及数据如何填充到列上?可以帮助张贴,以及更新到您的问题 – mellamokb 2012-04-20 14:13:03

+0

我只是放弃一个ObjectDatasource控件我的工具箱,配置它选择上面的方法,我发布代码并使用上述ObjectDatasource作为gridview的数据源。 还有其他的方法吗? 我绝对没有代码在这个GridView的C#中。 – 2012-04-20 14:16:27