SQL字符串拼接
DECLARE @pageIndex int--第几页
SET @pageIndex=1
DECLARE @pageSize int--每页显示条数
SET @pageSize=1
declare @SQL nvarchar(1000)
set @SQL=' select top ' + @pageSize+ ' from tbTeacherPlan where tpId not in (select top ' + (@pageIndex*@pageSize)+ ' tpId from tbTeacherPlan)'
Exec(@SQL)
PRINT @SQL
exec sp_executesql @SQL
消息 245,级别 16,状态 1,第 8 行
在将 varchar 值 ' select top ' 转换成数据类型 int 时失败。 这是为什么你 大虾们??
[解决办法]
@pageSize==>>ltrim(@pageSize)
(@pageIndex*@pageSize)==>>ltrim(@pageIndex*@pageSize)
DECLARE @pageIndex int--第几页
SET @pageIndex=1
DECLARE @pageSize int--每页显示条数
SET @pageSize=1
declare @SQL nvarchar(4000)
set @SQL=' select top (@pageSize) * from tbTeacherPlan where tpId not in (select top (@pageIndex*@pageSize) tpId from tbTeacherPlan)'
Exec(@SQL)
PRINT @SQL
exec sp_executesql @SQL,N'@pageSize int,@pageindex int',@pageSize,@pageIndex