技术开发 频道

针对sql 2005优化的高性能分页存储过程



  可以通过封装一个静态函数来执行:(EnterpriseLibrary3。1)
using System; using System.Data; using System.Data.Common; using System.Globalization; using System.Xml; using Microsoft.Practices.EnterpriseLibrary.Data; using Microsoft.Practices.EnterpriseLibrary.Data.Sql; namespace Glenet.EjiaShop.SqlData { /// <summary> /// Pageing /// </summary> public class Pageing { public Pageing() { // // TODO: 在此处添加构造函数逻辑 // } #region Pg_Paging /// <summary> /// Pg_Paging /// </summary> /// <param name="Tables"></param> /// <param name="PK"></param> /// <param name="Filter"></param> /// <returns></returns> public static int Pg_PageCount(string Tables,string PK,string Filter) { //创建数据库实例 Database db = DatabaseFactory.CreateDatabase(); //获得命令 string sqlCommand = "Pg_Paging"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); //设置参数 db.AddInParameter(dbCommand, "Tables", DbType.String, Tables); db.AddInParameter(dbCommand, "PK", DbType.String, PK); db.AddInParameter(dbCommand, "Sort", DbType.String, ""); db.AddInParameter(dbCommand, "PageNumber", DbType.Double, 0); db.AddInParameter(dbCommand, "PageSize", DbType.Double, 0); db.AddInParameter(dbCommand, "Fields", DbType.String, "*"); db.AddInParameter(dbCommand, "Filter", DbType.String, Filter); db.AddInParameter(dbCommand, "Group", DbType.String, ""); db.AddInParameter(dbCommand, "isCount", DbType.Boolean, 1); //执行 return int.Parse(db.ExecuteScalar(dbCommand).ToString()); //取得输出参数 } #endregion #region Pg_Paging /// <summary> /// Pg_Paging /// </summary> /// <param name="Tables"></param> /// <param name="PK"></param> /// <param name="Sort"></param> /// <param name="PageNumber"></param> /// <param name="PageSize"></param> /// <param name="Fields"></param> /// <param name="Filter"></param> /// <param name="Group"></param> /// <returns></returns> public static DataSet Pg_Paging(string Tables,string PK,string Sort,int PageNumber,int PageSize,string Fields,string Filter,string Group) { //创建数据库实例 Database db = DatabaseFactory.CreateDatabase(); //获得命令 string sqlCommand = "Pg_Paging"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); //设置参数 db.AddInParameter(dbCommand, "Tables", DbType.String, Tables); db.AddInParameter(dbCommand, "PK", DbType.String, PK); db.AddInParameter(dbCommand, "Sort", DbType.String, Sort); db.AddInParameter(dbCommand, "PageNumber", DbType.Double, PageNumber); db.AddInParameter(dbCommand, "PageSize", DbType.Double, PageSize); db.AddInParameter(dbCommand, "Fields", DbType.String, Fields); db.AddInParameter(dbCommand, "Filter", DbType.String, Filter); db.AddInParameter(dbCommand, "Group", DbType.String, Group); db.AddInParameter(dbCommand, "isCount", DbType.Boolean, 0); //执行 return db.ExecuteDataSet(dbCommand); } #endregion } }
0
相关文章