新闻项目后续之分页查询

分页查询代码如下

Class.forName("oracle.jdbc.driver.OracleDriver");
      		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
      		Connection con = DriverManager.getConnection(url, "scott", "tiger");
      		PreparedStatement ps = con.prepareStatement("select count(*) from news");
    		ResultSet rs = ps.executeQuery();
    		int count = 0;
    		if(rs.next()){
    			count = rs.getInt(1);
    		}
    		
    		
    		int pageIndex = 1;//页码
    		//接收页码
    		String index = request.getParameter("pageIndex");
    		if(index!=null){//如果接收到页面,就给页面pageIndex赋值
    			pageIndex = Integer.valueOf(index);
    		}
    		int pageSize = 10;//每页的数据条数,每页5条数据
    		
    		//计算最大页码
    		int maxPage = count/pageSize;   
    		//判断能不能整除,不能整除说明还有不够一页的数据
    		if(count%pageSize!=0){
    			maxPage++;
    		}
    		
    		int start = (pageIndex-1)*pageSize+1;
    		int end = pageIndex*pageSize;
    		String sql = "select * from(select a.*,rownum mid from news a)b where mid>=? and mid<=?";
    		
			ps = con.prepareStatement(sql);
			ps.setInt(1,start);
			ps.setInt(2, end);
			rs = ps.executeQuery();
      		rs = ps.executeQuery();
      		while(rs.next()){
    %>
				<li><a href="newspages/read_news.jsp?nid=<%=rs.getInt(1)%>">
      		<%=rs.getString("ntitle") %>
      	</a><span> 作者:
				<%=rs.getString("nzz") %> &#160;&#160;&#160;&#160; <a href='newspages/update_news.jsp?nid=<%=rs.getInt(1) %>'>修改</a>
				&#160;&#160;&#160;&#160; <a href='newspages/dodel.jsp?nid=<%=rs.getInt("nid") %>' onclick='return clickdel()'>删除</a>
				</span></li>
				<li class='space'></li>
				<%}%>

添加评论

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	//设置编码格式
	request.setCharacterEncoding("utf-8");
	//接收评论人的编号(用户编号)
	Object id = session.getAttribute("uuid");
	int uuid = (Integer)id;//强转
	//out.print("用户编号"+id);
	//评论人的IP
	String pid = request.getParameter("cip");
	//接收新闻编号(给哪一篇新闻评论)
	int nid = Integer.valueOf(request.getParameter("nid"));
	//评论内容
	String pnr = request.getParameter("ccontent");
 
	//评论主键编号:连接数据库查询到最大编号 然后加1
	int nextPid = 1;
	
	//注册驱动类
	Class.forName("oracle.jdbc.driver.OracleDriver");
	//连接数据库
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Connection con = DriverManager.getConnection(url, "scott", "tiger");
	//创建PreparedStatement对象
	PreparedStatement ps = con.prepareStatement("select max(pid) from ptext");
	//执行sql语句
	ResultSet rs = ps.executeQuery();
	if(rs.next()){
		nextPid = rs.getInt(1)+1;
	}
	
	//连接数据库,添加评论
	ps = con.prepareStatement("insert into ptext values(?,?,?,?,sysdate,?)");
	//给占位符赋值
	ps.setInt(1, nextPid);
	ps.setInt(2, uuid);
	ps.setInt(3, nid);
	ps.setString(4, pnr);
	ps.setString(5, pid);
	
	int i = ps.executeUpdate();
	if(i>0){
		out.print("<script>alert('评论成功');location.href='read_news.jsp?nid="+nid+"'</script>");
	}else{
		out.print("<script>alert('评论失败');location.href='read_news.jsp?nid="+nid+"'</script>");
	}
	
%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值