分页存储过程按条件分页

来源:百度知道 编辑:UC知道 时间:2024/05/16 05:39:59
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDataList();
}
AspNetPager1.RecordCount = GetRecordCount("dbo.buySale");
}

private void BindDataList()
{
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = strConn;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "up_pager";
SqlParameter[] pars = Setpars();
for (int i = 0; i < pars.Length; i++)
{
if (pars[i] != null)
{
cmd.Parameters.Add(pars[i]);

--------------------------------这个还没试
declare @pageSize int--页数大小
declare @pageIndex int--页码
set @pageSize = 10
set @pageIndex = 10

select * from (
select top (@pageSize) name
from (
select top (@pageSize*@pageIndex) name from sysobjects order by name
) as a
order by name desc
) as b
order by name

--==============================================================
-----------------------------这个个有点搞不请桑
SELECT TOP 页大小 *
FROM TestTable
WHERE (ID>
(SELECT MAX(id)
FROM (SELECT TOP (页大小 * (页数-1)) id
FROM 表
ORDER BY id) AST ))
ORDER BY ID
--======================================================================
-------------------------------目前这个好用----前提条件 是不能删除任何一条记录 加个游标 就可以控制了
SELECT TOP 页大小 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP (页大小*(页数