日期:2014-05-17 浏览次数:20495 次
ALTER proc [dbo].[selectmymessage] @a varchar, @pageSize int, @pageIndex int as declare @sql nvarchar(2000) if(@pageIndex<2) begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='+@a end else begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='+@a+ ' id>(select max(id) from ( select top '+convert(varchar(10),@pageSize*(@pageIndex-1))+' id from gbook where name='+@a+' order by id) a) where name='+@a+' order by id' end exec sp_executesql @sql
ALTER proc [dbo].[selectmymessage] @a varchar, @pageSize int, @pageIndex int as declare @sql nvarchar(2000) if(@pageIndex<2) begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='''+@a+'''' end else begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='''+@a+''' id>(select max(id) from ( select top '+convert(varchar(10),@pageSize*(@pageIndex-1))+' id from gbook where name='''+@a+''' order by id) a) where name='''+@a+''' order by id' end exec sp_executesql @sql ---@a 的附近有错误 上面是修改好的
------解决方案--------------------
ALTER proc [dbo].[selectmymessage] @a varchar, @pageSize int, @pageIndex int as declare @sql nvarchar(2000) if(@pageIndex<2) begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='''+@a+'''' end else begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='''+@a+''' and id>(select max(id) from ( select top '+convert(varchar(10),@pageSize*(@pageIndex-1))+' id from gbook where name='''+@a+''' order by id) a) and name='''+@a+'''order by id' END exec sp_executesql @sql
------解决方案--------------------
alter proc [dbo].[selectmymessage] ( @a varchar(1000), @pageSize int, @pageIndex int ) as begin declare @sql nvarchar(2000) if(@pageIndex<2) begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='''+@a+''' ' end else begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='''+@a+''' ' +' and id>(select max(id) from ( select top '+convert(varchar(10),@pageSize*(@pageIndex-1))+' id from gbook where name='''+@a+''' order by id) a)' end exec sp_executesql @sql end
------解决方案--------------------
create proc [dbo].[selectmymessage] @a varchar, @pageSize int, @pageIndex int as declare @sql nvarchar(2000) if(@pageIndex<2) begin set @sql='select top '+convert(varchar(10),@pageSize)+' * from gbook where name='+@a end else begin set @sql='select top '+@pageSize+' * from gbook where name='''+@a+''' and id>(select max(id) from ( select top '+@pageSize*(@pageIndex-1)+' id from gbook where name='''+@a+''' order by id) a) where name='''+@a+''' order by id' end exec sp_executesql @sql