asp.net结合aspnetpager使用SQL2005的存储过程分页
时间:2023-07-14 00:22:23
SQL2005的存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[P_GetPagedReCord]
(@startIndex INT, -- 开始索引号
@endindex INT, -- 结束索引号
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 显示字段名
@OrderfldName varchar(255), -- 排序字段名
@IsReCount bit = 0, -- 返回记录总数, 非 0 值则返回
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1000) = '' -- 查询条件 (注意: 不要加 where)
)
AS
declare @strSQL varchar(6000) -- 主语句
declare @strTmp varchar(100) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @OrderType!=0
Begin
set @strOrder='Desc'
End
else
Begin
set @strOrder='Asc'
End
set @strSQL ='WITH orderList AS ( '+
'SELECT ROW_NUMBER() OVER (ORDER BY '+@OrderfldName+' '+@strOrder+')AS Row, '+@fldName+' '+
'from '+@tblName
if @strWhere!=''
set @strSQL = @strSQL+' where ' + @strWhere
set @strSQL=@strSQL+')'+
'SELECT '+@fldName+' '+
'FROM orderlist '+
'WHERE Row between '+str(@startIndex)+' and '+str(@endIndex)+''
if @IsReCount != 0
Begin
set @strSQL = ' select count(1) as Total from [' + @tblName + ']'
if @strWhere!=''
set @strSQL = @strSQL+' where ' + @strWhere
End
--print(@strSQL)
exec (@strSQL)
使用中的关键代码:
//翻页
protected void anpager_PageChanged(object sender, EventArgs e)
{
bind();
}
string strWhere = " 1 = 1 ";
ETHaiNan.BLL.ET_Video bll = new ETHaiNan.BLL.ET_Video();
this.anpager.RecordCount = int.Parse(bll.GetRecordCount(strWhere).Tables[0].Rows[0][0].ToString());
this.anpager.PageSize = 10;
this.anpager.AlwaysShow = true;
DataSet ds = bll.GetList(anpager.StartRecordIndex, anpager.EndRecordIndex,strWhere, 0);
this.rpt.DataSource = ds;
ds.Dispose();
数据访问层:
/// <summary>
/// 分页获取数据列表
/// </summary>
public DataSet GetList(int startIndex, int endindex, string strWhere, int IsReCount)
{
SqlParameter[] parameters = {
new SqlParameter("@startIndex", SqlDbType.Int),
new SqlParameter("@endindex", SqlDbType.Int),
new SqlParameter("@tblName", SqlDbType.VarChar, 255),
new SqlParameter("@fldName", SqlDbType.VarChar, 255),
new SqlParameter("@OrderfldName", SqlDbType.VarChar, 255),
new SqlParameter("@IsReCount", SqlDbType.Bit),
new SqlParameter("@OrderType", SqlDbType.Bit),
new SqlParameter("@strWhere", SqlDbType.VarChar,1000)
};
parameters[0].Value = startIndex;
parameters[1].Value = endindex;
parameters[2].Value = "ET_Video";
parameters[3].Value = "VideoID,Video_Name,Video_TypeID,Video_OrderCode,Video_Type,Video_AddDate";
parameters[4].Value = "VideoID";
parameters[5].Value = IsReCount;
parameters[6].Value = 1;
parameters[7].Value = strWhere;
return DbHelperSQL.RunProcedure("P_GetPagedReCord", parameters, "ds");
}
标签:asp.net,aspnetpager,存储过程,分页
0
投稿
猜你喜欢
ubuntu20.04配置mysql8.0的实现步骤
2024-01-28 14:56:16
Python数据可视化Pyecharts库的使用教程
2023-01-24 23:17:34
JS实现仿Windows经典风格的选项卡Tab切换代码
2023-08-25 05:33:54
Tensorflow获取张量Tensor的具体维数实例
2021-12-24 20:25:10
MySQL 与 Elasticsearch 数据不对称问题解决办法
2024-01-23 13:43:57
python简单实现刷新智联简历
2023-09-08 06:49:44
pytest解读一次请求多个fixtures及多次请求
2023-07-20 01:13:43
python多进程共享变量
2023-08-30 07:40:53
对Python 文件夹遍历和文件查找的实例讲解
2021-11-05 22:29:25
python制作填词游戏步骤详解
2023-03-09 19:46:47
JavaScript防抖与节流超详细全面讲解
2023-09-22 07:05:13
用ASP和SQL实现基于Web日历源码
2010-04-24 15:52:00
SQL Server数据库中的表名称、字段比较
2024-01-13 17:02:24
Python Pygame实战之实现经营类游戏梦想小镇代码版
2021-08-06 19:13:23
Python一行代码实现生成和读取二维码
2023-04-30 15:31:18
python小程序基于Jupyter实现天气查询的方法
2021-05-30 10:39:40
pycharm 2021.3最新激活码有效期至2100年(亲测可用)
2022-03-23 13:45:03
详细讲解PostgreSQL中的全文搜索的用法
2024-01-28 13:55:29
python+selenium+autoit实现文件上传功能
2021-01-16 12:00:04
python抽取指定url页面的title方法
2022-11-15 21:52:40