那个sp_Page 是你自己写的吧

解决方案 »

  1.   

    CREATE PROCEDURE sp_Page
    @page int,
    @pageSize int,
    @tableName varchar(50),
    @idName varchar(20),
    @rowCount int output
    AS
    declare @sql varchar(2000)

    set @sql = 'select * from ' + @tableName
    exec(@sql)
    set @rowCount = @@RowCount

    set @sql = 'select top ' + cast(@pageSize as varchar) +' * from ' + @tableName + ' where ' + @idName + ' not in' + '(select top ' + cast( ((@page-1) * @pageSize)  as varchar) + ' ' + @idName + +' from ' + @tableName + ' order by ' + @idName + ')' + ' order by ' + @idName
    exec(@sql)
    GO
      

  2.   

    Try:
    exec  sp_Page @page, @pageSize, 'CDCover', 'cd_id',@recordCount OUTPUT
      

  3.   

    现在直接调用sp_PageALTER PROCEDURE sp_Page
    @page int,
    @pageSize int,
    @tableName nvarchar(50),
    @idName nvarchar(20),
    @Count int output
    AS
    declare @sql nvarchar(2000)

    declare @cnt int 
    set @sql=N'select @cnt=count(*) from ' + @tableName
    exec sp_executesql @sql,N'@cnt int output',@cnt output
    set @Count = @cnt

             把下面的去掉@Count值能取出,加上的话就为空,这是什么
    set @sql =N'select top ' + cast(@pageSize as nvarchar) +' * from ' + @tableName + ' where ' + @idName + ' not in' + '(select top ' + cast( ((@page-1) * @pageSize)  as nvarchar) + ' ' + @idName + +' from ' + @tableName + ' order by ' + @idName + ')' + ' order by ' + @idName
    exec sp_executesql @sql
      

  4.   

    我也有一个类似的问题想请教一下各位:
    在存储过程中设置好返回的参数之后,在查询分析器里也验证无误.但问题是,我的前台程序是VB+ADO,用ADO的COMMAND执行该存储过程之后,怎样才能在前台ADO中捕捉到该返回值呢?费解!