using System; using System.Collections.Generic; using System.Text; using System.Data; namespace LYFZ.WeixinServiceDate.StandardInterface { /// /// 数据层基础接口 /// public interface IBaseDataLaye { #region 属性 /// /// 数据表模型对象 /// object ObjModel { get; } /// /// 数据表名 /// string TableName { get; set; } /// /// 数据表字段名字符串,字段名以“,”号分隔 /// string TableFieldNameString { get; set; } /// /// 数据表字段名数组 /// string[] TableFieldNames { get; } #endregion #region 检查记录 /// /// 是否存在该记录 /// bool Exists(int ID); /// /// 根据筛选条件判断是否存在该记录 /// /// 筛选字段名 /// 筛选值 /// bool Exists(string filterFieldName, object filterValue); /// /// 判断是否存某个字段 /// /// 列名称 /// 是否存在 bool ColumnExists(string columnName); #endregion #region 公共方法 /// /// 获取最大ID() /// /// int GetMaxID(); /// /// 获取某字段最大值(获取字段必须为数字类型) /// /// 字段名 /// int GetMaxID(string FieldName); #endregion #region 增加数据 /// /// 增加一条数据 /// /// Model对象 /// 忽略字段名列表 字段名之间用“,”号分隔 /// bool Add(object model, string overlookFieldList = "ID"); /// /// 获取更新数据的UpdateCommandInfo对象 /// /// /// 要忽略的字段集合 多个字段名有“,”号分隔 /// object GetAddCommandInfoObject(object model, string overlookFieldList = "ID"); #endregion #region 删除数据 /// /// 删除一条数据 /// bool Delete(int ID); /// /// 按ID列表批量删除数据 /// /// ID列表,多个用“,”分隔 bool DeleteList(string idList); /// /// 批量删除数据 /// /// 筛选字段名 /// 值列表,多个值用“,”分隔,字符串值用“'”号包含 bool DeleteList(string filterFieldName, string valueList); /// /// 根据筛选字段删除数据 /// /// 筛选值 /// 筛选字段名 /// 筛选SQL运算符 /// bool Delete(object filterValue, string filterFieldName = "ID", string operators = "="); /// /// 根据where条件删除数据 不建义使用此方法 /// /// Wher条件,不包含“where”关键字 /// bool Delete(string whereStr); /// /// 根据筛选字段或where条件删除数据 /// /// 筛选字段名 /// 筛选SQL运算符 /// 筛选值 /// Wher条件,传入条件语句时筛选字段无效不建义使用 不包含“where”关键字 /// object GetDeleteCommandInfoObject(string filterFieldName = "ID", string operators = "=", object filterValue = null, string whereStr = null); #endregion #region 更新数据 /// /// 更新一条数据 /// /// Model对象 /// 筛选字段名称 /// SQL筛选运算符号 /// 忽略字段名列表 字段名之间用“,”号分隔 /// bool Update(object model, string filterFieldName = "ID", string operators = "=", string overlookFieldList = "ID"); /// /// 根据Wher条件更新数据 不建义使用此方法 /// /// Model对象 /// Wher条件,不包含“where”关键字 /// 忽略字段名列表 字段名之间用“,”号分隔 /// bool Update(object model, string whereStr, string overlookFieldList = "ID"); /// /// 获取更新数据的UpdateCommandInfo对象 根据筛选字段和SQL筛选运算符号更新数据(内部方法) /// /// Model对象 /// 筛选字段名称 /// 忽略字段名列表 字段名之间用“,”号分隔 /// Wher条件,当指定条件语句时筛选字段设置无效,不包含“where”关键字 不建义使用此参数 /// /// object GetUpdateCommandInfoObject(object model, string filterFieldName = "ID", string operators = "=", string overlookFieldList = "ID", string whereStr = null); #endregion #region 查询数据 /// /// 得到一个对象实体 /// object GetModelObject(int ID); /// /// 得到一个对象实体 /// object DataRowToModelObject(DataRow row); /// /// 根据筛选条件获取一条数据Model对象 /// /// 筛选条件字段名 /// 值 /// object GetModelObject(string filterFieldName, object filterValue); /// /// 根据筛选条件获取一条数据Model对象 /// /// 筛选条件字段名 /// 值 /// SQL筛选运算符号 /// object GetModelObject(string filterFieldName, object filterValue, string operators); /// /// 获取一条数据DataRow对象 /// /// id /// DataRow GetDataRow(int id); /// /// 根据筛选条件获取一条数据DataRow对象 /// /// 筛选条件字段名 /// 值 /// 筛选SQL运算符 /// DataRow GetDataRow(string filterFieldName, object filterValue, string operators = "="); /// /// 根据筛选条件获取一条数据DataRow对象(运算符是“=”) /// /// 筛选条件字段名 /// 值 /// DataRow GetDataRow(string filterFieldName, object filterValue); /// /// 得到一个对象实体 /// object DataRowToModel(DataRow row, object model); /// /// 获得数据列表 /// /// 条件语句 不包含 where 关键字 /// SQL排序 如:id desc DataSet GetList(string strWhere, string filedOrder = "ID desc"); /// /// 获得前几行数据 /// /// 行数 /// 条件 不包含 where 关键字 /// SQL排序 如:id asc /// DataSet GetList(int Top, string strWhere, string filedOrder = "ID asc"); /// /// 获得全部数据列表 /// /// SQL排序 如:id desc DataSet GetAllList(string filedOrder = "ID desc"); #endregion #region 数据分页 /// /// 获取分页后总页数 /// /// 筛选条件 /// 页面大小 /// int GetByPageCount(string strWhere, int pageSize); /// /// 获取记录总数 /// int GetRecordCount(string strWhere); /// /// 分页获取数据列表 /// /// 筛选条件 /// 当前页 不能小于0的整数 /// 页面大小,每页显示条数 不能小于0的整数 /// 排序 /// DataSet GetListByPage(string strWhere, int pageIndex, int pageSize, string orderby = "id desc"); /// /// 分页获取数据列表 /// /// 筛选条件 /// 排序 /// 当前页 /// 页面大小,每页显示条数 /// 返回总页数 /// DataSet GetListByPage(string strWhere, string orderby, int pageIndex, int pageSize, ref int pageCount); /// /// 分页获取数据列表 /// /// 条件 /// 排序 /// 开始index /// 结束index /// DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex); #endregion } }