CREATE proc resultrows
(
@pagesize int,
@sqlstring nvarchar(4000),
@pagecount int,
@columnid varchar(255),
@columnsort varchar(255)
)
as
declare @str nvarchar(4000)
set @str=' select top '+cast(@pagesize as varchar)+' * from  ('+@sqlstring+') T where T.'+@columnid+'
not in
(select top '+cast(((@pagesize)*(@pagecount-1)) as varchar(20)) +' '+@columnid+' from ('+@sqlstring+') T9 order by '+@columnsort+' asc)
order by '+@columnsort+' asc'
--print @str
exec  (@str)
GO
存储过程执行正常.但是在用代码调用的时候老是出现 在关键字 'from' 附近有语法错误执行不下去了呀,高手请解答.

解决方案 »

  1.   

    用print 把执行后的代码 显出来调一下
      

  2.   

    exec  (@str) 换种方式处理吧
      

  3.   

    谢谢大家的留言.我的传的@sqlstring 为string sql="select * from article";传的是sql.我的程序在查询分析器是完全是可以执行的.就在一到asp.net 时就出现了,关键字from附近有语法错误.我也是很郁闷呀,望大家不惜赐教呀.
      

  4.   

    问题解决了呀,是@sqlstring 出了问题.我写成了select from article谢谢大家了呀,
      

  5.   

    对了.有没有人能给一个datalist数字分页代码呀,依照我上面给的存储过程.谢谢