asp 存储过程

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:14:21
以下是我写的存储过程的分页
请高手看下对吗?
还有前台页面怎么调?
我调的时候老出错!
CREATE PROCEDURE dbo.xxnews
@tablename varchar(200) , --表名
@strGetFields varchar(200), --查询列名
@pageSize int, --页面大小
@page int --当前页面
AS
begin
declare @strSql varchar(500) --主语句
set @strSql = 'select top '+@pageSize+' '+@strGetFields+ ' from '+@tablename+' where (SMT_id NOT IN (SELECT TOP '+@pageSize*(@page-1)+'SMT_id FROM '+@tablename+' ORDER BY SMT_id desc)) ORDER BY SMT_id desc '
exec(@strSql)
end
GO

declare @tablename varchar(200) --表名
declare @strGetFields varchar(200) --查询列名
declare @pageSize int --页面大小
declare @page int --当前页面

begin
set @tablename='Tablename' --表名
set @strGetFields ='cloname' --查询列名
set @pageSize =5
set @page =1

declare @strSql varchar(500) --主语句
set @strSql = 'select top '+rtrim(@pageSize)+' '+@strGetFields
+' from '+@tablename+' where (SMT_id NOT IN (SELECT TOP '
+rtrim(@pageSize*(@page-1))+'SMT_id FROM '+@tablename+' ORDER BY SMT_id desc)) ORDER BY SMT_id desc '

print @strSql
--exec(@strSql)
end

存储过程中表名 字段名 不能直接用变量。所以估计你调用的时候出错就是因为这个。逻辑方面的我没看