/// <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)); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); } }
/// <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())); } } }
/// <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); }
/// <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); }
/// <summary> /// ������ձ���ȫ������ /// ��������־������Truncate Table ���� /// </summary> public virtual void TruncateTable() { Internal_DataHelper.ExecuteNonQuery(string.Format("TRUNCATE TABLE {0}", this.Table.TableName)); }
/// <summary> /// ɾ��ȫ����¼ /// </summary> /// <returns>Ӱ��ļ�¼��</returns> public virtual int DeleteAll() { return(Internal_DataHelper.ExecuteNonQuery(string.Format(this.Table.Delete, string.Empty))); }