日期:2014-05-17  浏览次数:20456 次

存储过程问题,急救...
create proc sp_textajsxnet
(
@pageRows int,
@pageIndex int
)
as
begin
declare @cmd nvarchar (3000)

set @cmd='select top'+ @pageRows+' titles,oneid,dates,sorts,isshowme from c_newsinfo where Id> (select max(t.Id) from (select top'+ (@pageRows * @pageIndex)+' Id from c_newsinfo order by Id) t) order by Id'
exec sp_executesql @cmd
end

我这样的存储过程有问题吗?  
我本来是有 sql 语句的,现在换成存储过程就出问题了
原来的语句是这样的 :
select top " + pageRows.ToString() + " titles,oneid,dates,sorts,isshowme from c_newsinfo where Id> (select max(t.Id) from (select top " + (pageRows * pageIndex).ToString() + " Id from c_newsinfo order by Id) t) order by Id

------解决方案--------------------
存储过程没错,你现在是什么问题
------解决方案--------------------
'+ @pageRows+' 改成+ @pageRows+试试?
你那样写最后的SQL语句应该是
select top '1' *** from
------解决方案--------------------
喔 ,没问题,我看错了,不好意思。。。
------解决方案--------------------
set @cmd='select top'+ @pageRows+' top后面是不是少了个空格
------解决方案--------------------
把你的存储过程改一下 cmd不执行,把它输出出来不就能知道哪里有问题了么
Print @cmd