关于网友提出的“ 请问关于aspnetpage 分页控件的使用”问题疑问,本网通过在网上对“ 请问关于aspnetpage 分页控件的使用”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请问关于aspnetpage 分页控件的使用
描述:
//用这条语句 来做分页 不知道该怎么做,希望大侠们指点,能否给出个完整的例子
string listBrandSql = "select b.pluname,b.Spec,b.MinPrice,b.PluCode from tLsPlu a,tbmplu b where a.PluCode=b.PluCode and a.OrgCode='60114' and a.IsWxPlu = 1 and b.clsCode='" + Request.QueryString["clsCode"] + "' and b.BrandCode ='" + Request.QueryString["brandCode"] + "'";
解决方案1: 给你个存储过程看看,希望对你有用:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
/>
ALTER PROCEDURE [dbo].[GetRecordFromPage]
@SelectList VARCHAR(2000), --欲选择字段列表
@TableSource VARCHAR(100), --表名或视图表
@SearchCondition VARCHAR(2000)='', --查询条件
@OrderExpression VARCHAR(1000), --排序表达式
@PageIndex INT = 1, --页号,从0开始
@PageSize INT = 10, --页尺寸
@RecordCount Int output,
@GoCount bit = 0
AS
BEGIN
IF @SelectList IS NULL OR LTRIM(RTRIM(@SelectList)) = ''
BEGIN
SET @SelectList = '*'
END
-- PRINT @SelectList
SET @SearchCondition = ISNULL(@SearchCondition,'')
SET @SearchCondition = LTRIM(RTRIM(@SearchCondition))
IF @SearchCondition <> ''
BEGIN
IF UPPER(SUBSTRING(@SearchCondition,1,5)) <> 'WHERE'
BEGIN
SET @SearchCondition = ' WHERE ' + @SearchCondition
END
END
-- PRINT @SearchCondition
SET @OrderExpression = ISNULL(@OrderExpression,'')
SET @OrderExpression = LTRIM(RTRIM(@OrderExpression))
IF @OrderExpression <> ''
BEGIN
IF UPPER(SUBSTRING(@OrderExpression,1,6)) <> 'ORDER '
BEGIN
SET @OrderExpression = 'ORDER BY ' + @OrderExpression
END
END
IF @PageIndex IS NULL OR @PageIndex < 1
BEGIN
SET @PageIndex = 1
END
IF @PageSize IS NULL OR @PageSize < 1
BEGIN
SET @PageSize = 10
END
If @GoCount = 1
begin
goto GoCount
end
else
begin
goto MySearch
end
DECLARE @SqlQuery NVARCHAR(max)
GoCount:
SET @SqlQuery = 'SELECT @Count = count(*) FROM '+@TableSource+@SearchCondition
execute sp_executesql
@SqlQuery,
N'@COUNT int output',
@RecordCount output
return
MySearch:
if @RecordCount<=0
begin
SET @SqlQuery = 'SELECT @Count = count(*) FROM '+@TableSource+@SearchCondition
execute sp_executesql
@SqlQuery,
N'@COUNT int output',
@RecordCount output
end
SET @SqlQuery='SELECT *
FROM
(SELECT ' + @SelectList + ',ROW_NUMBER() OVER( '+ @OrderExpression +') AS RowNumber
FROM '+@TableSource+' '+ @SearchCondition +') AS RowNumberTableSource
WHERE RowNumber BETWEEN ' + CAST(((@PageIndex - 1)* @PageSize+1) AS VARCHAR)
+ ' AND ' +
CAST((@PageIndex * @PageSize) AS VARCHAR)
--select @SqlQuery
EXECUTE(@SqlQuery)
END
解决方案2: 存储过程才是王道啊。。。可以写成通用的,以后每次调用直接传sql语句就可以了
解决方案3: 别拼接sql语句了 直接写存储过程吧
解决方案4: 贴下完整的代码吧 看看!
以上介绍了“ 请问关于aspnetpage 分页控件的使用”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2127407.html