Esempio n. 1
0
        /// <summary>
        /// ��model��ij��˱�ʶΪIdentity,Timestamp֮�������ֵ�������ݿ�
        /// </summary>
        /// <param name="model">��Ҫ�������ݿ��model</param>
        /// <returns>Ӱ��ļ�¼��</returns>
        public virtual int Insert(Model model)
        {
            model.GmtCreateUser = this.Operater;
            model.GmtCreateDate = DateTime.Now;
            model.GmtUpdateUser = this.Operater;
            model.GmtUpdateDate = DateTime.Now;
            ParmCollection parms = this.Table.PrepareNotIdentityParms(model);

            return(Internal_DataHelper.ExecuteNonQuery(this.Table.Insert, parms));
        }
Esempio n. 2
0
        /// <summary>
        /// �Զ���sql��ѯ����ѯ�����DataSet��ʽ����
        /// </summary>
        /// <param name="sql">�Զ���sql���</param>
        /// <param name="parms">ִ�в�������</param>
        /// <returns>���ϲ�ѯ���������ݱ�����</returns>
        public virtual DataSet ListDataSet(string sql, Collection <IDataParameter> parms = null)
        {
            if (parms == null)
            {
                parms = new Collection <IDataParameter>();
            }
            DataSet ds = Internal_DataHelper.FillDataSet(sql, parms);

            return(ds);
        }
Esempio n. 3
0
        /// <summary>
        /// �Զ���sql��ѯ����ѯ��������ݱ���ʽ����
        /// </summary>
        /// <param name="sql">�Զ���sql���</param>
        /// <param name="parms">ִ�в�������</param>
        /// <returns>���ϲ�ѯ���������ݱ�</returns>
        public virtual DataTable ListTable(string sql, Collection <IDataParameter> parms = null)
        {
            if (parms == null)
            {
                parms = new Collection <IDataParameter>();
            }
            DataTable dt = Internal_DataHelper.FillDataTable(sql, parms);

            dt.TableName = this.Table.TableName;
            return(dt);
        }
Esempio n. 4
0
        /// <summary>
        /// ����Key�ֶ���Ϊɾ��������model��������κ�ֵ��������Ϊɾ��������ֻ�б�ʶΪKey���ֶβŻ���Ϊɾ������
        /// </summary>
        /// <param name="models">��������model����</param>
        /// <returns>Ӱ��ļ�¼��</returns>
        public virtual int DeleteWithKeys(params Model[] models)
        {
            int returnCount = 0;

            foreach (var model in models)
            {
                ParmCollection parms = this.Table.PrepareKeysParms(model);
                returnCount += Internal_DataHelper.ExecuteNonQuery(string.Format(this.Table.Delete, parms.WhereSql), parms);
            }
            return(returnCount);
        }
Esempio n. 5
0
        /// <summary>
        /// ���������ֶ���Ϊɾ������
        /// </summary>
        /// <param name="identitys">�Զ�����ֵ����</param>
        /// <returns>Ӱ��ļ�¼��</returns>
        public virtual int DeleteWithIdentity(params long[] identitys)
        {
            int returnCount = 0;

            foreach (var identity in identitys)
            {
                ParmCollection parm = this.Table.PrepareIdentityParm(identity);
                returnCount += Internal_DataHelper.ExecuteNonQuery(string.Format(this.Table.Delete, parm.WhereSql), parm);
            }
            return(returnCount);
        }
Esempio n. 6
0
        /// <summary>
        /// ��model�������modelÿ�����˱�ʶΪIdentity,Timestamp֮�������ֵ�������ݿ�
        /// </summary>
        /// <param name="models">��Ҫ�������ݿ��</param>
        /// <returns>Ӱ��ļ�¼��</returns>
        public virtual int InsertCol(Model[] models)
        {
            int num = 0;
            Collection <StringBuilder> sc = this.Table.PrepareInsertCol <Model, OutputModel>(models, this.Operater);

            foreach (StringBuilder s in sc)
            {
                num += Internal_DataHelper.ExecuteNonQuery(s.ToString());
            }
            return(num);
        }
Esempio n. 7
0
        /// <summary>
        /// ����model��ֵ��Ϊ��ѯ����,model��ÿһ����null�ֶζ�����Ϊ��ѯ������
        /// ��ȡModel��Ӧ�����ݿ���ڷ��������ļ�¼���ϼ�
        /// ֧��ģ����ѯ
        /// </summary>
        /// <param name="model">��������model</param>
        /// <returns>��¼���ϼ�</returns>
        public virtual int GetCount(Model model)
        {
            ParmCollection parms = this.Table.PrepareConditionParms(model, this.IsLikeMode);
            object         o     = Internal_DataHelper.ExecuteScalar(CommandType.Text, string.Format("SELECT COUNT(*) FROM {0} {1}", this.Table.TableName, parms.WhereSql), parms);

            if (o != null)
            {
                return(int.Parse(o.ToString()));
            }

            return(0);
        }
Esempio n. 8
0
        /// <summary>
        /// ��model��ij��˱�ʶΪIdentity,Timestamp֮�������ֵ�������ݿ�
        /// </summary>
        /// <param name="model">��Ҫ�������ݿ��model</param>
        /// <returns>�����Ľ��</returns>
        public virtual OutputModel InsertAndReturn(Model model)
        {
            model.GmtCreateUser = this.Operater;
            model.GmtCreateDate = DateTime.Now;
            model.GmtUpdateUser = this.Operater;
            model.GmtUpdateDate = DateTime.Now;
            ParmCollection parms = this.Table.PrepareNotIdentityParms(model);

            using (IDataReader rdr = Internal_DataHelper.ExecuteReader(this.Table.Insert, parms))
            {
                return(rdr.Read() ? (OutputModel)this.Table.ReadDataReader(rdr, new OutputModel()) : null);
            }
        }
Esempio n. 9
0
 /// <summary>
 /// �Զ���sql��ѯ����ѯ����Լ�����ʽ����
 /// </summary>
 /// <param name="sql">�Զ���sql���</param>
 /// <param name="parms">ִ�в�������</param>
 /// <returns>���ϲ�ѯ�����ļ���</returns>
 public virtual IEnumerable <OutputModel> List(string sql, Collection <IDataParameter> parms = null)
 {
     if (parms == null)
     {
         parms = new Collection <IDataParameter>();
     }
     using (IDataReader rdr = Internal_DataHelper.ExecuteReader(sql, parms))
     {
         while (rdr.Read())
         {
             yield return((OutputModel)this.Table.ReadDataReader(rdr, new OutputModel()));
         }
     }
 }
Esempio n. 10
0
        /// <summary>
        /// 自定义sql查询,查询结果以分页形式返回
        /// </summary>
        /// <param name="sql">自定义原始sql语句</param>
        /// <param name="parms">参数</param>
        /// <param name="orderBy">排序语句,例: "ORDER BY GmtUpdateDate DESC"</param>
        /// <param name="pageSize">每页显示数</param>
        /// <param name="pageNO">页数</param>
        /// <param name="preSql">前置sql</param>
        /// <returns></returns>
        public virtual PageModel <OutputModel> ListPage(string sql, int pageNO = 1, int pageSize = 10, Collection <IDataParameter> parms = null, string orderBy = "", string preSql = "")
        {
            if (parms == null)
            {
                parms = new Collection <IDataParameter>();
            }
            var      result   = new PageModel <OutputModel>();
            PageInfo pageInfo = new PageInfo(sql, orderBy, pageSize, pageNO);

            result.ListData = List(pageInfo.PageSQL, parms);
            result.PageNO   = pageNO;
            result.PageSize = pageSize;
            using (IDataReader rdr = Internal_DataHelper.ExecuteReader(pageInfo.PageCountSQL, parms))
            {
                result.DataCount = rdr.Read() ? rdr.GetValue <int>("PAGECOUNT") : 0;
            }
            return(result);
        }
Esempio n. 11
0
        /// <summary>
        /// 根据model的值作为查询条件,model里每一个非null字段都会作为查询条件
        /// 获取分页的数据
        /// 支持模糊查询
        /// </summary>
        /// <param name="model">作为条件的model</param>
        /// <returns>符合查询条件的分页数据集合</returns>
        public virtual PageModel <OutputModel> ListPage(Model model)
        {
            bool isIMyInterface = typeof(BasePageModel).IsAssignableFrom(model.GetType());

            var            result    = new PageModel <OutputModel>();
            ParmCollection parms     = this.Table.PrepareConditionParms(model, this.IsLikeMode);
            var            requirSql = string.Format(this.Table.Select, parms.WhereSql, string.Empty);
            PageInfo       pageInfo  = new PageInfo(requirSql, this.OrderBy, model.PageSize ?? 10, model.PageNO ?? 1);

            result.ListData = List(pageInfo.PageSQL, parms);
            result.PageNO   = model.PageNO ?? 1;
            result.PageSize = model.PageSize ?? 10;
            using (IDataReader rdr = Internal_DataHelper.ExecuteReader(pageInfo.PageCountSQL, parms))
            {
                result.DataCount = rdr.Read() ? rdr.GetValue <int>("PAGECOUNT") : 0;
            }
            return(result);
        }
Esempio n. 12
0
 /// <summary>
 /// ������ձ���ȫ������
 /// ��������־������Truncate Table ����
 /// </summary>
 public virtual void TruncateTable()
 {
     Internal_DataHelper.ExecuteNonQuery(string.Format("TRUNCATE TABLE {0}", this.Table.TableName));
 }
Esempio n. 13
0
 /// <summary>
 /// ɾ��ȫ����¼
 /// </summary>
 /// <returns>Ӱ��ļ�¼��</returns>
 public virtual int DeleteAll()
 {
     return(Internal_DataHelper.ExecuteNonQuery(string.Format(this.Table.Delete, string.Empty)));
 }