CREATE procedure Paging --表名
@tblName varchar(50),
@strGetFields varchar(1000)='',
@fldName varchar(255)='',
@PageSize int=10,
@PageIndex int=1,
@doCount bit=0,
@OrderType bit=0,
@strWhere varchar(1500)=''
as
declare @strSQL nvarchar(4000)
declare @strTmp varchar(110)
declare @strOrder varchar(400)
declare @TotalRecord int if @doCount !=0
begin
if @strWhere !=''
set @strSQL=N'select @TotalRecord=count(*) from '+@tblName
else
set @strSQL=N'select @TotalRecord=count(*) from '+@tblName
exec sp_executesql @strSQL,N'@TotalRecord int out',@TotalRecord out
end以上是我的翻页存储过程,在sql server查询分析器里执行的时候,提示
必须声明变量 '@TotalRecord'。
select @TotalRecord=count(*) from UserInfo
存储过程: myWeb.dbo.Paging
返回代码 = 0
可是我明明有声明@TotalRecord啊,请问这是为什么?
@tblName varchar(50),
@strGetFields varchar(1000)='',
@fldName varchar(255)='',
@PageSize int=10,
@PageIndex int=1,
@doCount bit=0,
@OrderType bit=0,
@strWhere varchar(1500)=''
as
declare @strSQL nvarchar(4000)
declare @strTmp varchar(110)
declare @strOrder varchar(400)
declare @TotalRecord int if @doCount !=0
begin
if @strWhere !=''
set @strSQL=N'select @TotalRecord=count(*) from '+@tblName
else
set @strSQL=N'select @TotalRecord=count(*) from '+@tblName
exec sp_executesql @strSQL,N'@TotalRecord int out',@TotalRecord out
end以上是我的翻页存储过程,在sql server查询分析器里执行的时候,提示
必须声明变量 '@TotalRecord'。
select @TotalRecord=count(*) from UserInfo
存储过程: myWeb.dbo.Paging
返回代码 = 0
可是我明明有声明@TotalRecord啊,请问这是为什么?
set @strSQL=N'select @TotalRecord=count(*) from '+@tblName
else
set @strSQL=N'select @TotalRecord=count(*) from '+@tblName
exec sp_executesql @strSQL,N'@TotalRecord int out',@TotalRecord out
end 没有错误啊!
不行换成exec
if @strWhere !=''
set @strSQL=N'select'+@TotalRecord+ '=count(*) from '+@tblName
else
set @strSQL=N'select'+ @TotalRecord+'=count(*) from '+@tblName
exec (@strSQL)
end
必须声明变量 '@TotalRecord'。
select @TotalRecord=count(*) from UserInfo
存储过程: myWeb.dbo.Paging
返回代码 = 0
sp_executesql吧