日期:2014-05-18  浏览次数:20406 次

应该不难~~存储过程分页,有数据无法填充...
create   procedure   sp_createpage
@sqlstr   nvarchar(1000),   ---SQL语句
@pagenum   int   ,                     ---当前页
@pagesize   int码                   ---每页行数

as

set   nocount   on  
declare   @curl   int   ,
@rowcount   int  
exec     sp_cursoropen   @curl   output,@sqlstr,@scrollopt=1,@ccoppt=1,@rowcount=@rowcount   output
select   ceiling(1.0*@rowcount/@pagesize)   as   countpage,@rowcount   as   rowscount   ,@pagenum   as   pageing
set   @pagenum=(@pagenum-1)*@pagesize+1
exec   sp_cursorfetch   @curl,16,@pagenum,@pagesize
exec   sp_cursorclose   @curl
set   nocount   off
查询分析器执行效果如下:
id                 type         brand         place     --这里好像得到了一个空表

countpage   rowcount   pageing     --分别为页数,每页行数,当前页码
  10                       100         1
id                 type         brand         place
94 VS-625 VINAL 合资
93 VS-508L VINAL 合资
92 VS-505 VINAL 合资
91 VS-455 VINAL 合资

问题就是,我这样得不到数据,ds   为空     DataSet   ds=new   DataSet   ();
                                                                      adp.Fill(ds);
大家帮忙,解决一下填充问题

------解决方案--------------------
看下存储过程的参数和类型
------解决方案--------------------
应该是返回最后一个select的内容,
exec sp_cursorfetch @curl,16,@pagenum,@pagesize
exec sp_cursorclose @curl
这两句里边有些什么?