Esempio n. 1
0
        /// <summary>
        /// 查询数据集Dataset集合
        /// </summary>
        /// <param name="_option">操作类型</param>
        /// <param name="_selecttype">查询类型</param>
        /// <param name="P_IgnoreCase">是否大小写</param>
        /// <returns>Dataset集合</returns>
        public virtual List <T> SelectPage <T>(KdtFieldEntityEx _option, KdtPageEx _selecttype, bool P_IgnoreCase = false)
            where T : class, new()
        {
            using (var adapter = LoadAdapter())
            {
                adapter.Open(); // 打开执行数据库
                if (!P_IgnoreCase)
                {
                    adapter.BindFlag.script = "{0}";                // 消除插入数据执行T-SQL语法
                }
                KdtParameterCollection props;
                _option.SetAdapter(Driver);
                string sqltext = _option.Select(_selecttype.selpagetotal, out props);
                if (string.IsNullOrEmpty(sqltext))
                {
                    throw new DataException("执行的查询统计总数语句为空!");
                }
                int total = adapter.ExecuteScalar <int>(sqltext, props);
                _selecttype.total = total;

                if (total > 0)
                {
                    //adapter.Open(); // 打开执行数据库
                    sqltext = _option.Select(_selecttype.selpage, out props);
                    if (string.IsNullOrEmpty(sqltext))
                    {
                        throw new DataException("执行的查询分页语句为空!");
                    }
                    props.AddParameter("start", _selecttype.start, ProcInPutEnum.InPut);
                    props.AddParameter("end", _selecttype.end, ProcInPutEnum.InPut);
                    return(adapter.ExecuteQuery <T>(sqltext, props));
                }
                return(new List <T>());
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 回滚,无返回值执行方法
        /// </summary>
        /// <param name="_option"></param>
        /// <param name="_selecttype"></param>
        /// <param name="P_IgnoreCase"></param>
        public virtual void TransExecute(KdtFieldEntityEx _option, string _selecttype, bool P_IgnoreCase = false)
        {
            using (var adapter = LoadAdapter())
            {
                adapter.Open(); // 打开执行数据库
                if (!P_IgnoreCase)
                {
                    adapter.BindFlag.script = "{0}";                // 消除插入数据执行T-SQL语法
                }
                KdtParameterCollection props;
                _option.SetAdapter(Driver);
                string sqltext = _option.Select(_selecttype, out props);
                if (string.IsNullOrEmpty(sqltext))
                {
                    throw new DataException("执行的SQL语句为空!");
                }

                adapter.BeginTrans();
                try
                {
                    _option.Affected = adapter.ExecuteNoQuery(sqltext, props);
                    adapter.CommitTrans();
                }
                catch (Exception ex)
                {
                    // 写日志
                    KdtLoger.Instance.Error(ex);
                    adapter.RollbackTrans();
                }
            }
        }
Esempio n. 3
0
        public virtual List <KeyValueCollection> SelectKVCollectionPage(KdtFieldEntityEx _option, string _selecttype, int offset, int limit, bool P_IgnoreCase = false)
        {
            using (var adapter = LoadAdapter())
            {
                adapter.Open(); // 打开执行数据库
                if (!P_IgnoreCase)
                {
                    adapter.BindFlag.script = "{0}";                // 消除插入数据执行T-SQL语法
                }
                KdtParameterCollection props;
                _option.SetAdapter(Driver);
                string sqltext = _option.Select(_selecttype, out props);
                if (string.IsNullOrEmpty(sqltext))
                {
                    throw new DataException("执行的SQL语句为空!");
                }

                return(adapter.ExecuteQueryPageKVCollection(sqltext, props, offset, limit));
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 查询数据集Dataset集合
        /// </summary>
        /// <param name="_option">操作类型</param>
        /// <param name="_selecttype">查询类型</param>
        /// <param name="P_IgnoreCase">是否大小写</param>
        /// <returns>Dataset集合</returns>
        public virtual T SelectField <T>(KdtFieldEntityEx _option, string _selecttype, bool P_IgnoreCase = false)
        {
            using (var adapter = LoadAdapter())
            {
                adapter.Open(); // 打开执行数据库
                if (!P_IgnoreCase)
                {
                    adapter.BindFlag.script = "{0}";                // 消除插入数据执行T-SQL语法
                }
                KdtParameterCollection props;
                _option.SetAdapter(Driver);
                string sqltext = _option.Select(_selecttype, out props);
                if (string.IsNullOrEmpty(sqltext))
                {
                    throw new DataException("执行的SQL语句为空!");
                }

                return(adapter.ExecuteScalar <T>(sqltext, props));
            }
        }