1

GridviewにObjectDataSourceを使用しています。値を返すために使用している関数は、テーブルの最後の値である単一の値を返すだけです。すべての値を返すためにどのような変更を加えますか。

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;



        }
    }
}

オブジェクトの配列を作成するなど、すべてのアプローチを試しましたが、できません。コードに何を追加するか教えてください。

4

1 に答える 1

1

従業員のリストを返す必要があります。ループを終了した後の最後のインスタンスである単一のインスタンスのみを返します。

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

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

    return emps;
}
于 2012-04-20T14:07:35.360 に答える