以下是个分页的存储过程.create PROC UP_Pager
@sql nvarchar(4000), --要执行的sql语句
@pagesize int=10, --每页的大小
@currentpage int=1, --要显示的页码
@recordcount int=0 out, --记录数
@pagecount int=0 out --总页数
AS SET NOCOUNT ON
DECLARE @p1 int
--EXEC sp_cursoropen @p1 output, @sql, @scrollopt=1, @ccopt=1, @rowcount=@pagecount output
EXEC sp_cursoropen @p1 output, @S, @scrollopt=1, @ccopt=1, @rowcount=@pagecount output
--计算总页数
IF ISNULL(@pagesize, 0) < 1 SET @pagesize = 10
--SET @PageCount=(@PageCount+@pagesize-1)/@pagesize
--IF ISNULL(@currentpage,0)<1 OR ISNULL(@currentpage,0)>@pagesize
-- SET @currentpage=1
--ELSE
-- SET @currentpage=(@currentpage-1)*@pagesize+1
SELECT @recordcount=@pagecount,@pagecount=ceiling(1.0*@pagecount/@pagesize) ,@currentpage=(@currentpage-1)*@pagesize+1
SELECT @recordcount recordcount ,@pagecount pagecount
EXEC sp_cursorfetch @p1,16,@currentpage,@pagesize
EXEC sp_cursorclose @p1
GO当把传入的@sql变量的 字符..超过4000个..应该怎么办?像这样: @sql = @sql1 + @sql2 + @sql3exec UP_Pager @sql,99999,1执行后有错误..
@sql nvarchar(4000), --要执行的sql语句
@pagesize int=10, --每页的大小
@currentpage int=1, --要显示的页码
@recordcount int=0 out, --记录数
@pagecount int=0 out --总页数
AS SET NOCOUNT ON
DECLARE @p1 int
--EXEC sp_cursoropen @p1 output, @sql, @scrollopt=1, @ccopt=1, @rowcount=@pagecount output
EXEC sp_cursoropen @p1 output, @S, @scrollopt=1, @ccopt=1, @rowcount=@pagecount output
--计算总页数
IF ISNULL(@pagesize, 0) < 1 SET @pagesize = 10
--SET @PageCount=(@PageCount+@pagesize-1)/@pagesize
--IF ISNULL(@currentpage,0)<1 OR ISNULL(@currentpage,0)>@pagesize
-- SET @currentpage=1
--ELSE
-- SET @currentpage=(@currentpage-1)*@pagesize+1
SELECT @recordcount=@pagecount,@pagecount=ceiling(1.0*@pagecount/@pagesize) ,@currentpage=(@currentpage-1)*@pagesize+1
SELECT @recordcount recordcount ,@pagecount pagecount
EXEC sp_cursorfetch @p1,16,@currentpage,@pagesize
EXEC sp_cursorclose @p1
GO当把传入的@sql变量的 字符..超过4000个..应该怎么办?像这样: @sql = @sql1 + @sql2 + @sql3exec UP_Pager @sql,99999,1执行后有错误..
解决方案 »
- 面试题
- VS2005 打不开VSS2005里的项目
- 在使用C# 执行长参数存储过程的写法,谢谢
- 郁闷的问题,DataGrid导出Excel乱码问题!
- 郁闷 谁知道为什么我的网站被挂上了恶意代码?
- ERP系统中BOM展开,有些难度,高手来试一试!
- "存储空间不足,无法完成此操作" 调试的时候出再这样的错误,在线等,请高手帮帮忙!
- 在asp.net中怎么使用视图?
- 怎么样在Calendar控件中只显示本月的日期,上一月或下一月的日期不显示。
- 页面设有控件验证,但我想一个按钮的 Click 事件绕开验证控件的验证?请问如何实现?
- GridView添加了固定的表头,当我隐藏了某些列后,要如何隐藏相应的表头呢?
- 如何在static方法中调用非静态方法?在不使用实例化的情况下。
加长度不就可以了。
我觉得这样的情况应当很少,很少见或者没有见过4000字符sql的执行方案。