名校导航AspNetPager存储过程分页总结
2010-03-17 09:49
253 查看
1,DAL中SQLHelper.cs调用的DataSet
/// <summary>
/// return a dataset
/// </summary>
/// <param name="connectionString">一个有效的数据库连接字符串</param>
/// <param name="cmdType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>
/// <param name="cmdText">存储过程的名字或者 T-SQL 语句</param>
/// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>
/// <returns>return a dataset</returns>
public static DataSet ExecuteDataSet(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = cmd;
da.Fill(ds);
return ds;
}
catch
{
conn.Close();
throw;
}
}
2用到了两个存储过程
--(1)FamousSchool_Select_Image
------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
create proc [dbo].[FamousSchool_Select_Image]
@pageIndex int,
@pageSize int
AS
declare @indexTable table (id int identity(1,1), nid int)
declare @pageLowerBound int
declare @pageUpperBound int
set @PageLowerBound=(@pageIndex-1)*@pageSize
set @PageUpperBound=@PageLowerBound+@pageSize
set rowcount @PageUpperBound
insert into @indextable(nid) select Id from FaShoollNateNews
select * from FaShoollNateNews f,@indextable t where f.Id=t.nid and t.id>@PageLowerBound and t.id<=@PageUpperBound and f.ShoolImage is not null order by OrderLevel asc
------------------------------------
--(2)FamousSchool_Select_ImageCount
------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
create proc [dbo].[FamousSchool_Select_ImageCount]
AS
begin
select count(*) from FaShoollNateNews where ShoolImage is not null
end
------------------------------------
3,DAL中方法
/// <summary>
/// ProfessGetAll查询所有学校图片信息-名校导航-分页
/// </summary>
/// <param name="pageIndex">当前页索引</param>
/// <param name="pageSize">当前页显示的行目数</param>
/// <returns></returns>
public DataSet FaShoolNateImage(int pageIndex, int pageSize)
{
SqlParameter[] paras=new SqlParameter[2];
paras[0] = new SqlParameter("@pageIndex",pageIndex);
paras[1] = new SqlParameter("@pageSize",pageSize);
return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionString, CommandType.StoredProcedure, "FamousSchool_Select_Image", paras);
}
/// <summary>
/// 得到查询的所有记录数值-分页
/// </summary>
/// <returns></returns>
public object FaShoolNateImageCount()
{
return SqlHelper.ExecuteScalar(SqlHelper.ConnectionString, CommandType.StoredProcedure, "FamousSchool_Select_ImageCount", null);
}
4,WebUI层绑定代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using UserInfo.BLL;
using UserInfo.DAL;
using UserInfo.Model;
using System.Data.SqlClient;
namespace FrameWork.web.HightShool
{
public partial class FaShNavgateIndex : System.Web.UI.Page
{
HightShoolNewsBll bll = new HightShoolNewsBll();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AspNetPager1.RecordCount = int.Parse(bll.HightSchoolImageCount().ToString());
DataList1.DataSource = bll.HightSchoolImage(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize);
DataList1.DataBind();
}
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
AspNetPager1.RecordCount = int.Parse(bll.HightSchoolImageCount().ToString());
DataList1.DataSource = bll.HightSchoolImage(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize);
DataList1.DataBind();
}
}
}
5,AspNetPager样式
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
onpagechanged="AspNetPager1_PageChanged" PageSize="8"
AlwaysShowFirstLastPageNumber="True" FirstPageText="首页" LastPageText="最后一页"
NextPageText="下一页" PageIndexBoxType="DropDownList" PrevPageText="上一页"
AlwaysShow="True" ShowPageIndexBox="Always" TextAfterPageIndexBox="页"
TextBeforePageIndexBox="转到"
CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页,每页%PageSize%条"
ShowCustomInfoSection="Right">
</webdiyer:AspNetPager>
/// <summary>
/// return a dataset
/// </summary>
/// <param name="connectionString">一个有效的数据库连接字符串</param>
/// <param name="cmdType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>
/// <param name="cmdText">存储过程的名字或者 T-SQL 语句</param>
/// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>
/// <returns>return a dataset</returns>
public static DataSet ExecuteDataSet(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = cmd;
da.Fill(ds);
return ds;
}
catch
{
conn.Close();
throw;
}
}
2用到了两个存储过程
--(1)FamousSchool_Select_Image
------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
create proc [dbo].[FamousSchool_Select_Image]
@pageIndex int,
@pageSize int
AS
declare @indexTable table (id int identity(1,1), nid int)
declare @pageLowerBound int
declare @pageUpperBound int
set @PageLowerBound=(@pageIndex-1)*@pageSize
set @PageUpperBound=@PageLowerBound+@pageSize
set rowcount @PageUpperBound
insert into @indextable(nid) select Id from FaShoollNateNews
select * from FaShoollNateNews f,@indextable t where f.Id=t.nid and t.id>@PageLowerBound and t.id<=@PageUpperBound and f.ShoolImage is not null order by OrderLevel asc
------------------------------------
--(2)FamousSchool_Select_ImageCount
------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
create proc [dbo].[FamousSchool_Select_ImageCount]
AS
begin
select count(*) from FaShoollNateNews where ShoolImage is not null
end
------------------------------------
3,DAL中方法
/// <summary>
/// ProfessGetAll查询所有学校图片信息-名校导航-分页
/// </summary>
/// <param name="pageIndex">当前页索引</param>
/// <param name="pageSize">当前页显示的行目数</param>
/// <returns></returns>
public DataSet FaShoolNateImage(int pageIndex, int pageSize)
{
SqlParameter[] paras=new SqlParameter[2];
paras[0] = new SqlParameter("@pageIndex",pageIndex);
paras[1] = new SqlParameter("@pageSize",pageSize);
return SqlHelper.ExecuteDataSet(SqlHelper.ConnectionString, CommandType.StoredProcedure, "FamousSchool_Select_Image", paras);
}
/// <summary>
/// 得到查询的所有记录数值-分页
/// </summary>
/// <returns></returns>
public object FaShoolNateImageCount()
{
return SqlHelper.ExecuteScalar(SqlHelper.ConnectionString, CommandType.StoredProcedure, "FamousSchool_Select_ImageCount", null);
}
4,WebUI层绑定代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using UserInfo.BLL;
using UserInfo.DAL;
using UserInfo.Model;
using System.Data.SqlClient;
namespace FrameWork.web.HightShool
{
public partial class FaShNavgateIndex : System.Web.UI.Page
{
HightShoolNewsBll bll = new HightShoolNewsBll();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AspNetPager1.RecordCount = int.Parse(bll.HightSchoolImageCount().ToString());
DataList1.DataSource = bll.HightSchoolImage(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize);
DataList1.DataBind();
}
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
AspNetPager1.RecordCount = int.Parse(bll.HightSchoolImageCount().ToString());
DataList1.DataSource = bll.HightSchoolImage(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize);
DataList1.DataBind();
}
}
}
5,AspNetPager样式
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
onpagechanged="AspNetPager1_PageChanged" PageSize="8"
AlwaysShowFirstLastPageNumber="True" FirstPageText="首页" LastPageText="最后一页"
NextPageText="下一页" PageIndexBoxType="DropDownList" PrevPageText="上一页"
AlwaysShow="True" ShowPageIndexBox="Always" TextAfterPageIndexBox="页"
TextBeforePageIndexBox="转到"
CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页,每页%PageSize%条"
ShowCustomInfoSection="Right">
</webdiyer:AspNetPager>
相关文章推荐
- Repeater加AspNetPager通过存储过程实现分页
- 存储过程 + AspNetPager 实现分页
- AspNetPager控件分页存储过程
- 利用AspNetPager控件实现数据分页(存储过程)
- asp.net分页控件AspNetPager的使用,使用传统分页和存储过程分页
- VS2005中用存储过程实现分页控件AspNetPager(用存储过程加AspNetPager分页控件分页超快)
- asp.net下Repeater使用 AspNetPager分页控件 不用存储过程 完美实现
- Oracle分页存储过程
- Oracle总结【SQL细节、多表查询、分组查询、分页】
- C#-DataGridView分页功能的实现(存储过程实现)
- Oracle通用分页存储过程的创建与使用
- MyBatis学习总结(六)——调用存储过程
- 有关数据库存储过程编写的经验总结
- 千万级分页存储过程
- 基于存储过程的MVC开源分页控件
- MyBatis学习总结(六)——调用存储过程
- 通用的数据库分页查询存储过程
- 分页与注册存储过程
- Bootstr 分页导航
- MongoDb的分页查询,游标,存储过程