/// <summary> /// 重载:获取数据表格(string where = "", string field = "*", int start = 0, int limit = 999) /// </summary> /// <param name="database">数据库名</param> /// <param name="table">表或视图名</param> /// <param name="where">查询条件</param> /// <param name="whereParams">条件参数</param> /// <param name="field">查询字段</param> /// <param name="order">排序方式</param> /// <param name="start">起始记录数</param> /// <param name="limit">终止记录数</param> /// <param name="count">总记录数</param> public static DataTable GetTable(string database, string table, Hashtable whereParams, string order, out int count, string where = "", string field = "*", int start = 0, int limit = 999) { using (MaDataHelper dataTool = MaDataHelper.GetDataHelper(database)) { string _sql = @"select count(*) from " + table + " WHERE 1=1 " + where; //参数赋值 foreach (DictionaryEntry s in whereParams) { dataTool.SpFileValue.Add(s.Key, s.Value); } //处理总页数 count = int.Parse(dataTool.SqlScalar(_sql, dataTool.SpFileValue).ToString()); //获得当前页数据 _sql = @" select * from ( select row_number() over ( ORDER BY " + order + " ) TID, " + field + " from " + table + " WHERE 1=1 " + where + @" ) PageTable where TID between @Start and @Limit"; dataTool.SpFileValue.Add("@Start", start + 1); //过滤条数 dataTool.SpFileValue.Add("@Limit", limit + start); //页面大小 //执行 return(dataTool.SqlGetDataTable(_sql, dataTool.SpFileValue)); } }
/// <summary> /// 获取实体对应的数据表 /// </summary> /// <param name="database">查询数据库</param> /// <param name="selectObjet">查询对象</param> /// <param name="selectWhere">查询条件</param> /// <returns></returns> public static DataTable GetDataTable(DataBaseInfo database, string selectObjet, params string[] selectWhere) { DataTable _table = null; using (MaDataHelper helper = MaDataHelper.GetDataHelper(database)) { string _sql = selectObjet; if (_sql.ToLower().IndexOf("select") < 0) { _sql = "SELECT * FROM " + selectObjet + " WHERE 1=1 "; } if (selectWhere != null) { foreach (string item in selectWhere) { _sql += " " + item; } } _table = helper.SqlGetDataTable(_sql); } return(_table); }