/// <summary> /// 分页查询的sql语句 /// </summary> /// <param name="attributes">要查询的字段(两端可以没有空格)</param> /// <param name="pageSize">每页要显示的行数</param> /// <param name="pageIndex">当前页索引</param> /// <param name="orderBy">依据那个字段排序(两端可以没有空格)</param> /// <param name="aod">升序(asc)还是降序(desc)(两端可以没有空格)</param> /// <param name="where">附加的条件(一定要有where关键字,两端可以没有空格)</param> /// <returns></returns> public static string SelectByPaging(int currentPageIndex, string field, int pageSize, string strWhere, string orderByWho, string orderDirection) { string ids = string.Format("SELECT TOP({0}*{1}) id FROM Base_Knowledge {2} ORDER BY {3} {4}", currentPageIndex, pageSize, strWhere, orderByWho, orderDirection); string whereLess = null; if (!string.IsNullOrEmpty(strWhere)) { int whereIndex = strWhere.ToLower().IndexOf("where"); whereLess = "AND" + strWhere.Substring(whereIndex + 5); } return string.Format(@"SELECT TOP {0} {1} FROM Base_Knowledge WHERE id NOT IN({2}) {3} ORDER BY {4} {5}", pageSize, field, ids, whereLess, orderByWho, orderDirection); }