Diamo丶 2015-08-27 08:12 采纳率: 0%
浏览 1593

jsp +oracle分页问题 主要是在SQL语句上

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



Insert title here


姓 名

班 级

学 号

<%
//定义四个分页会用到的变量
int pageSize=3;
int pageNow=1;//默认显示第一页
int rowCount=0;//该值从数据库中查询
int pageCount=0;//该值是通过pageSize和rowCount
//接受用户希望显示的页数(pageNow)
String s_pageNow=request.getParameter("pageNow");
if(s_pageNow!=null){
//接收到了pageNow
pageNow=Integer.parseInt(s_pageNow);
}
//查询得到rowCount
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1522:shop","cityinfo","Hj63444379");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select count(*) FROM STUDENT ");
if(rs.next()){
rowCount=rs.getInt(1);
}
//计算pageCount
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
//查询出需要显示的记录
rs=stmt.executeQuery("SELECT * FROM (SELECT ID,NUM,NAME,ROWNUM rn FROM STUDENT WHERE ROWNUM<=? ORDER BY ID) temp WHERE temp.rn>?");
%>

<%
//while(rs.next()){
out.print("

");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");

while(rs.next()){
String cid=rs.getString(1);
String NUM=rs.getString(2);
out.print("

");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");
out.print("");

}

out.print("

"+"序号"+""+"姓名 "+""+"性别"+""+"状态"+""+"学号"+""+"班级"+""+"身份证"+""+"电话"+""+"邮箱"+""+"操作"+"
"+rs.getString(2)+""+rs.getString(3)+""+rs.getString(4)+""+rs.getString(5)+""+rs.getString(6)+""+rs.getString(7)+""+rs.getString(8)+""+rs.getString(9)+""+rs.getString(10)+"

删除

修改

");
%>

<%
//上一页
if(pageNow!=1){
out.println("上一页");
}
//显示超链接
for(int i=1;i<=pageCount;i++){
out.println("["+i+"]");
}
//下一页
if(pageNow!=pageCount){
out.println("下一页");
}
%>


rs=stmt.executeQuery("SELECT * FROM (SELECT ID,NUM,NAME,ROWNUM rn FROM STUDENT WHERE ROWNUM<=? ORDER BY ID) temp WHERE temp.rn>?");

主要是这句话! 代码都打上去了 这sql是我网上找的稍微改成了自己的但是总觉得不对

我的表名叫STUDENT 主键是ID 然后还有 NUM ,NAME ,SEX ,STATE, STUDENT_ID ,CLASS,ID_CARD ,TEL, MAIL 字段 大神帮个忙被

  • 写回答

5条回答 默认 最新

  • jiajia333666 2015-08-27 12:55
    关注

    rs=stmt.executeQuery("SELECT ID,NUM,NAME,ROWNUM FROM STUDENT WHERE ROWNUM<=? AND ROWNUM>?ORDER BY ID");
    这样就可以了

    评论

报告相同问题?

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型