Exemple #1
0
        /// <summary>
        /// 执行查询语句的泛型方法,返回单个实体类
        /// </summary>
        /// <typeparam name="T">返回实体对象的类型</typeparam>
        /// <param name="cmd">SqlCommand</param>
        /// <param name="objSinleHandler">委托方法</param>
        /// <param name="cmdText">查询字符串</param>
        /// <param name="cmdParams">查询参数</param>
        /// <returns></returns>
        public T ExecSelectSingleCmd <T>(SqlCommand cmd, objectHandler <T> objSinleHandler, string cmdText, params SqlParameter[] cmdParams)
        {
            T obj = default(T);  //T代表不确定的类型

            try
            {
                PrepareCommand(cmd, cmdParams, cmdText);
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    ClearParameters(cmd);

                    if (dr.Read())
                    {
                        obj = objSinleHandler(dr); //调用委托方法,传递游标参数
                    }
                    dr.Close();
                }
                return(obj);
            }
            catch (SqlException ex)
            {
                RollBackTran();
                throw ex;
            }
            finally
            {
                CloseConnection();
            }
        }
Exemple #2
0
 /// <summary>
 /// 执行查询语句的泛型方法,返回单个实体类
 /// </summary>
 /// <typeparam name="T">返回实体对象的类型</typeparam>
 /// <param name="objSinleHandler">委托方法</param>
 /// <param name="cmdText">查询字符串</param>
 /// <param name="cmdParams">查询参数</param>
 /// <returns></returns>
 public T ExecSelectSingleCmd <T>(objectHandler <T> objSinleHandler, string cmdText, params SqlParameter[] cmdParams)
 {
     using (SqlCommand cmd = new SqlCommand())
     {
         return(ExecSelectSingleCmd <T>(cmd, objSinleHandler, cmdText, cmdParams));
     }
 }
Exemple #3
0
        /// <summary>
        /// 执行查询语句的泛型方法
        /// </summary>
        /// <typeparam name="T">返回实体对象的类型</typeparam>
        /// <param name="cmd">SqlCommand</param>
        /// <param name="objHandler">委托方法</param>
        /// <param name="cmdText">查询字符串</param>
        /// <param name="cmdParams">查询参数</param>
        /// <returns></returns>
        public List <T> ExecSelectCmd <T>(SqlCommand cmd, objectHandler <T> objHandler, string cmdText, params SqlParameter[] cmdParams)
        {
            List <T> objList = null;  //T代表不确定的类型

            try
            {
                PrepareCommand(cmd, cmdParams, cmdText);
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        if (objList == null)
                        {
                            objList = new List <T>();
                        }
                        T obj = objHandler(dr); //调用委托方法,传递游标参数
                        objList.Add(obj);       //添加到集合中
                    }
                    dr.Close();
                }
                return(objList);
            }
            catch (SqlException ex)
            {
                RollBackTran();
                throw ex;
            }
            finally
            {
                CloseConnection();
            }
        }