利用存储过程进行高效分页的例子
2005-04-26 10:32
621 查看
高效分页的例子:
后台代码:
private void Page_Load(object sender, System.EventArgs e)
private void BindGrid()
private void lbnFormerPage_Click(object sender, System.EventArgs e)
private void lbnNextPage_Click(object sender, System.EventArgs e)
private void ddlNum_SelectedIndexChanged(object sender, System.EventArgs e)
数据操作层的代码:
public static DataSet GetNewsRecord(string SearchContent,string Page,string Orderby)
protected static DataSet ExecuteStoreDataset(string StoreName,SqlParameter[] par)
CREATE PROCEDURE [dbo].[card_高效分页]
(
@PageSize int, --每页记录
@PageIndex int, --当前页数,1开始
@Condition varchar(8000), --查询条件,包括and,where,必须有一个条件如where 2>1
@TheTable varchar(8000), --表名
@SelectField varchar(8000), --要选择的字段
@OrderBy varchar (8000), --OrderBy字句,包括order
@TableID varchar (8000) --table主键
)
AS
begin
declare @Sql varchar(8000)
--返回记录
set @Sql='select top ' + cast(@PageSize as varchar(10)) + ' ' + @SelectField + ' from ' + @TheTable + ' ' + @Condition + ' and '
+ @TableID +' not in (select top ' + cast((@PageSize*(@PageIndex-1)) as varchar(10))+' ' +@TableID+' from ' + @TheTable + ' ' + @Condition
+ ' ' + @OrderBy +') ' + @OrderBy
exec(@sql)
--返回总数
set @Sql='select count(' + @TableID + ') from ' + @TheTable +' ' + @Condition
exec(@sql)
end
GO
前台代码(部分):
<td align="right">
<TABLE height="23" cellSpacing="0" cellPadding="0" border="0">
<tr>
<td width="3"><IMG src="../images/SelectBg.gif"></td>
<td vAlign="middle" background="../images/SelectBorder.gif" bgColor="white"><span style="LEFT: 3px; OVERFLOW: hidden; POSITION: relative; HEIGHT: 17px"><asp:dropdownlist id="ddlNum" Runat="server" AutoPostBack="True" CssClass="Border"></asp:dropdownlist></span></td>
<td width="3"><IMG style="FILTER: fliph" src="../images/SelectBg.gif"></td>
</tr>
</TABLE>
</td>
后台代码:
private void Page_Load(object sender, System.EventArgs e)
private void BindGrid()
private void lbnFormerPage_Click(object sender, System.EventArgs e)
private void lbnNextPage_Click(object sender, System.EventArgs e)
private void ddlNum_SelectedIndexChanged(object sender, System.EventArgs e)
数据操作层的代码:
public static DataSet GetNewsRecord(string SearchContent,string Page,string Orderby)
protected static DataSet ExecuteStoreDataset(string StoreName,SqlParameter[] par)
CREATE PROCEDURE [dbo].[card_高效分页]
(
@PageSize int, --每页记录
@PageIndex int, --当前页数,1开始
@Condition varchar(8000), --查询条件,包括and,where,必须有一个条件如where 2>1
@TheTable varchar(8000), --表名
@SelectField varchar(8000), --要选择的字段
@OrderBy varchar (8000), --OrderBy字句,包括order
@TableID varchar (8000) --table主键
)
AS
begin
declare @Sql varchar(8000)
--返回记录
set @Sql='select top ' + cast(@PageSize as varchar(10)) + ' ' + @SelectField + ' from ' + @TheTable + ' ' + @Condition + ' and '
+ @TableID +' not in (select top ' + cast((@PageSize*(@PageIndex-1)) as varchar(10))+' ' +@TableID+' from ' + @TheTable + ' ' + @Condition
+ ' ' + @OrderBy +') ' + @OrderBy
exec(@sql)
--返回总数
set @Sql='select count(' + @TableID + ') from ' + @TheTable +' ' + @Condition
exec(@sql)
end
GO
前台代码(部分):
<td align="right">
<TABLE height="23" cellSpacing="0" cellPadding="0" border="0">
<tr>
<td width="3"><IMG src="../images/SelectBg.gif"></td>
<td vAlign="middle" background="../images/SelectBorder.gif" bgColor="white"><span style="LEFT: 3px; OVERFLOW: hidden; POSITION: relative; HEIGHT: 17px"><asp:dropdownlist id="ddlNum" Runat="server" AutoPostBack="True" CssClass="Border"></asp:dropdownlist></span></td>
<td width="3"><IMG style="FILTER: fliph" src="../images/SelectBg.gif"></td>
</tr>
</TABLE>
</td>
相关文章推荐
- 利用存储过程进行高效分页的例子
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- C#利用存储过程进行高速分页[包括前台和后台代码]
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- SQL Server中利用存储过程来高性能地进行分页
- 利用存储过程进行分页 游标
- 利用jdbc对数据表进行分页,操作存储过程(有参与无参,返回游标),函数等
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- SQL Server中利用存储过程来高性能地进行分页
- 利用存储过程进行分页
- SQL Server中利用存储过程来高性能地进行分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- SQL Server中利用存储过程来高性能地进行分页
- SQL Server中利用存储过程来高性能地进行分页