asp.net 分页存储过程+分页类+分页控件
分页存储过程如下代码Pages.sql:
CREATE PROCEDURE Pages
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) = '*', -- 需要返回的列
@fldName varchar(255)='', -- 排序的字段名
@pageSize int = 10, -- 页尺寸
@pageIndex int = 1, -- 页码
@doCount bit = 0, -- 返回记录总数, 非 0 值则返回
@orderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1500) = '', -- 查询条件 (注意: 不要加 where)
@primaryKey varchar(60)
AS
declare @strSQL varchar(5000) -- 主语句
declare @strOrder varchar(400) -- 排序类型
declare @strTmpFld varchar(10)
set @strTmpFld = 'TmpFld' --临时字段名!!!重要!!!
if @doCount != 0
begin
if @strWhere !=''
set @strSQL = 'select count(*) as Total from '+ @tblName +' where '+ @strWhere
else
set @strSQL = 'select count(*) as Total from '+ @tblName +''
end
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都
--是@doCount为0的情况
else
begin
if @orderType != 0
set @strOrder = ' order by '+ @fldName +' desc ' --如果@orderType不是0,就执行降序,这句很重要!
else
set @strOrder = ' order by '+ @fldName +' asc '
if @pageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@pageSize) + ' ' + @strGetFields + ' from ' + @tblName +' where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@pageSize) + ' ' + @strGetFields + ' from ' + @tblName +' '+ @strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
end
else
begin
--以下代码赋予了@strSQL以真正执行的SQL代码
if @strWhere = ''
set @strSQL = 'select top ' + str(@pageSize) + ' ' + @strGetFields + ' from ' + @tblName + ' where ' + @primaryKey + ' not in (' + 'select top ' + str((@pageIndex-1)*@pageSize) + ' ' + @primaryKey + ' from '+ @tblName + ' ' + @strOrder + ')'+ @strOrder
else
set @strSQL = 'select top ' + str(@pageSize) + ' ' + @strGetFields + ' from '
相关文档:
第一步:创建对象
第二步:设置属性
①pdsBooks.AllowPaging=true;
②pdsBooks.PageSize=5;
③pdsBooks.CurrentPageIndex=CurrentPage-1;
④pdsBooks.DataSource=BookManage.GetAllBooks();
第三步:绑定数据源
DataList1.DataList=pdsBooks;
DataList1.DataBind(); ......
今天去面试刚刚回来,趁着刚才提问的问题还在脑海里,现在赶快写出来分享分享,问的问题比较的多。,单圈是关于ASP.net和它周边的技术问题,我有几个都没回答上来,修炼不够啊
(1)首先是让我介绍一下自己的情况::我就从大一开始说,学到的关于网络、软件这方面的知识,一直说到大四,现在找工作,是不是缺少啥呢??。 ......
在用VS2008调试网站的时候,突然页面不能正常显示了,IE显示“无法显示该网页”。
症状一:
IE地址栏里面显示的端口号和桌面任务栏右下角“ASP.NET Development Server”的端口不一致,而把IE地址栏的端口号改成“ASP.NET Development Server”显示的端口号,结果网页就能出来。
解决 ......