Пример #1
0
        public List<Employee> getAllEmployee(Employee emp, String sortColumn,Boolean asc,Boolean exactFilter)
        {
            List<Employee> result = new List<Employee>();
            MySqlTransaction tr = null;
            MySqlDataAdapter rdr = null;
            String sql = "SELECT * FROM EMPLOYEE WHERE 1=1 ";
            Dictionary<String, String> paramDic = new Dictionary<String, String>();

            if(emp != null)
            {
                String strFilter = emp.getStrFilter();
                if (!String.IsNullOrWhiteSpace(strFilter))
                {
                    if (exactFilter)
                    {
                        sql += " AND E_NAME = @NAME ";
                        paramDic.Add("@NAME",strFilter);
                    }
                    else
                    {
                        sql += " AND E_NAME LIKE '% @NAME %' ";
                        paramDic.Add("@NAME",strFilter);
                    }

                }
            }
            if(sortColumn != null)
            {
                String sort = (asc == true? "ASC":"DSC");

                sql += " ORDER BY @COLUMN @SORT ";
                paramDic.Add("@COLUMN",sortColumn);
                paramDic.Add("@SORT", sort);
            }
            try
            {
                conn = getConnection();
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = conn;
                cmd.Transaction = tr;
                cmd.CommandText = sql;
                foreach (KeyValuePair<String, String> pair in paramDic)
                {
                    cmd.Parameters.AddWithValue(pair.Key, pair.Value);
                }

                rdr = new MySqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                rdr.Fill(dt);

                tr.Commit();
            }
            catch (Exception ex)
            {
                tr.Rollback();
            }
            finally
            {
                if(rdr != null)
                {
                    rdr.Close();
                }
                DBUtil.CloseConnection(conn);
            }
            return result;
        }