CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

zjcxc(邹建)的分页问题 请进?

楼主luobiliang(阿良)2004-09-02 22:42:15 在 MS-SQL Server / 基础类 提问

当我分析以下查询时:  
  p_show   "SELECT   *   FROM   VW_OrderDetails   WHERE   (Ord_ComCode='Admin')   AND   (Ord_CreateDate   Between   '2004-9-1'   AND   '2004-9-2')   ORDER   BY   Ord_id   Desc",1,20  
   
  报错:  
  服务器:   消息   103,级别   15,状态   7,行   1  
  以   'SELECT   *   FROM   VW_OrderDetails   WHERE   (Ord_ComCode='Admin')   AND   (Ord_CreateDate   Between   '2004-9-1'   AND   '2004-9-2')   ORDER   BY   Ord_id'   开头的   标识符   太长。最大长度为   128。  
   
  我使用的存储过程:  
  CREATE   Procedure   p_show  
  (@sqlstr   nvarchar(4000),   --查询字符串  
                    @pagecount   int=1,                 --第N页  
    @pagesize   int=99999999)                 --每页行数  
  as  
  declare     @rowcount   int  
  begin  
    set   nocount   on  
  declare   @P1   int--P1是游标的id  
  exec   sp_cursoropen   @P1   output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount   OUTPUT  
                select   @rowcount   as   lngRowCount,ceiling(1.0*@rowcount/@pagesize)   as   lngPageCount,   @pagecount   as   lngCurrentPage  
                  set   @pagecount=(@pagecount-1)*@pagesize+1  
                  exec   sp_cursorfetch   @P1,16,@pagecount,@pagesize    
  exec   sp_cursorclose   @P1  
  end  
  GO  
   
  请问是什么原因?   "@sqlstr   nvarchar(4000)"明明可以支持4000个字符的? 问题点数:20、回复次数:6Top

1 楼zjcxc(邹建)回复于 2004-09-02 22:46:33 得分 20

p_show   'SELECT   *   FROM   VW_OrderDetails   WHERE   (Ord_ComCode=''Admin'')   AND   (Ord_CreateDate   Between   ''2004-9-1''   AND   ''2004-9-2'')   ORDER   BY   Ord_id   Desc',1,20Top

2 楼luobiliang(阿良)回复于 2004-09-02 22:48:14 得分 0

把    
  "SELECT   *   FROM   VW_OrderDetails   WHERE   (Ord_ComCode='Admin')   AND   (Ord_CreateDate   Between   '2004-9-1'   AND   '2004-9-2')   ORDER   BY   Ord_id   Desc"  
  (137   位字符)  
  改为  
  "SELECT   *   FROM   VW_OrderDetails   WHERE   (Ord_ComCode='Admin')   AND   (Ord_CreateDate   Between   '2004-9-1'   AND   '2004-9-2')"  
  (117   位字符)  
   
  就可以了Top

3 楼luobiliang(阿良)回复于 2004-09-02 22:49:28 得分 0

xiexie   !Top

4 楼luobiliang(阿良)回复于 2004-09-02 22:50:39 得分 0

请问如何结贴?Top

5 楼zlp321002(Life Is Good,Let's Shine)回复于 2004-09-02 22:52:02 得分 0

右上角,管理!!Top

6 楼luobiliang(阿良)回复于 2004-09-02 22:52:37 得分 0

xiexie     !Top

相关问题

  • zjcxc(邹建)兄弟的那个分页存储过程在哪里啊?
  • zjcxc(邹建),我用你的分页存储过程,出现不能使用服务器游标的错误,如何解决啊?时间不等人,救命啊.
  • 怎样调用 邹建 的分页存储过程 ?????
  • 关于邹建的分页存储过程中,加条件执行的问题
  • 我参考了邹建分页存储过程发现没有总页数。
  • 邹建的分页存储过和能不能返回记录的总数啊?
  • 关于在ASP中调用邹建的分页存储过程返回记录集的问题
  • zjcxc(邹建)领分。
  • 分页???
  • 分页

关键词

  • ord
  • comcode
  • createdate
  • rowcount
  • pagecount
  • pagesize
  • sqlstr
  • admin
  • orderdetails where
  • show

得分解答快速导航

  • 帖主:luobiliang
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo