我从oracle的一个表中查询出了4870条记录,,我分页,,第页有10条记录,,我共分487页但是,,我在web页面中没有办法访问到478页面以后的记录,,往各位老大帮个忙,,,急用,,小弟在线等………………对了,,在oracle数据库中也没办法访问到语句如下:
select * from ((select rownum rn, SMS_ID,SMS_CONT,SEND_USER_ID,RECE_USER_ID,
SEND_DATETIME,REC_STATUS,USER_ID from sdmb_user_639248.Tb_sms_Sent where USER_ID='admin' and rownum<=4790)
union (select rownum rn, Timer_ID,SMS_CONT,SEND_USER_ID,RECE_USER_ID,
Timer_DATETIME,REC_STATUS,USER_ID from sdmb_admin.Tb_asp_sms_timer where REC_STATUS != '1'
and USER_ID='admin' and rownum<=4790))where rn >4780 order by SEND_DATETIME desc
你把4790修改成4780   把4780修改成4770就能访问到,,,

解决方案 »

  1.   

    来看一下rowid和rownum的区别:
    -------------------------
    rowid : 数据库内部存放数据地址
    rownum:  选取的行数rowid相当于oracle数据库管理的主键  甚至就可以以它作为所在表的主键
    rownum应该是行号,并且顺序排列,根据你的select语句的执行动态生成rowid是oracle数据文件管理的标识,信息放在第几块了,第几行了。
    rownum是表的是逻辑上的第几行rowid是oracle中的一个基于管理的方式!!!他采用的是十六进制的!!!
    rownum是你当前执行动作的行数
      

  2.   

    rownum的概念楼上说得很清楚,
    你现在的工作是要确认一下,你用来union的两条sql是否有4790的记录,
    我估计你加了条件以后是没有这么多的记录.
      

  3.   

    我建议你的rownum那个字段使用的时候范围最好是在一起