jsp+javabean分页

package SJJava;

import java.sql.*;
import java.util.*;

 

import SJJava.sqlconn1;


public class aqq {


public  int Cint(String cint)
    {
     try {
    int n;
       n= Integer.parseInt(cint);
    return n;
         }
        catch (NumberFormatException e)
        {
                  return 0;
         }
 }
public String getPage(String topage) throws SQLException
 {
 
  StringBuffer sb=new StringBuffer();
  int PageSize =2; //设置每张网页显示两条记录
  int ShowPage = 1; //设置欲显示的页数
  int RowCount = 0; //ResultSet的记录数目
  int PageCount = 0; //ResultSet分页后的总页数
  int duoyu=0;
  int j=1;
  ResultSet rs;
  sqlconn1 db = new sqlconn1();
  String sql;
  sql="select  * from hw where hwtype_id=3 order by hw_id asc";
  rs=db.executeQuery(sql);
  if(rs.next())
  { 
    //建立ResultSet(结果集)对象,并执行SQL语句
      rs.last(); //将指标移至最后一笔记录
      RowCount=rs.getRow();
      duoyu=RowCount % PageSize;
      if(duoyu==0)
       {
            PageCount=RowCount/PageSize;
        }
       else{
        PageCount=(RowCount-duoyu)/PageSize;
         PageCount++;
        }
   // PageCount=((RowCount % PageSize) == 0?(RowCount/PageSize) : (RowCount/PageSize)+1);
    //计算显示的页数
      String ToPage = topage;
      if(ToPage==""){ToPage="1";}
 // 判断是否可正确取得ToPage参数,
 // 可取得则表示JSP网页应显示特定分页记录的语句
     if(ToPage!=""){
        ShowPage =Cint(ToPage); //取得指定显示的分页页数
     //下面的if语句将判断用户输入的页数是否正确
         if(ShowPage > PageCount)
         { //判断指定页数是否大于总页数, 是则设置显示最后一页
             ShowPage = PageCount;
         }
        else if(ShowPage <= 0)
         { //若指定页数小于0, 则设置显示第一页的记录
                ShowPage = 1;
          }
      }
  rs.absolute((ShowPage - 1) * PageSize+1);
 // 计算欲显示页的第一笔记录位置
 
 //利用For循环配合PageSize属性输出一页中的记录
  int i,news_id,linshi;
  i=1;
  linshi=1;
    linshi=ShowPage;
    rs.previous();
     String news_title;
    while(rs.next()&i<= PageSize)
   {
       i++;
       news_id=rs.getInt("hw_id");
       news_title=rs.getString("hw_name");
        if(news_title.length()>20)
        {
            news_title.substring(0,20);
            news_title=news_title+"...";
         }
        sb.append(rs.getString("hw_name")+"<br>");
      
 
   }
    sb.append("第"+ShowPage+"页/共"+PageCount+"页,"+RowCount+"条新闻");
    linshi=ShowPage-1;
 if(linshi>0)
 {
  sb.append("<a href='?ToPage="+linshi+"'>上一页</a>");
 }else
 {
  sb.append("上一页");
 }
 linshi=ShowPage+1;
 if(linshi<=PageCount)
 {
  sb.append("<a href='?ToPage="+linshi+"'>下一页</a>");
 }else
 {
  sb.append("下一页");
 }
 sb.append("<select name=/"select/" onChange=/"javascript:window.open(this.options[this.selectedIndex].value,'_self')/">");
  while(j<=PageCount)
  {
   sb.append("<option value=/"?ToPage="+j+"/" ");
   if (ShowPage==j)
   {
    sb.append("selected");
   }
   sb.append(">"+j+"页</option>");
   j++;
  }
  sb.append("</select>");
  }
  return sb.toString();
 }
}

 

 

=====================sqlconn1.java的代码如下:===========================================

package SJJava;

import java.sql.*;

public class sqlconn1 {
 String DBdriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

 String Connstr = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jspshop";

 Connection conn = null;

 ResultSet rs = null;

 String user = "sa";

 String password = "aqq";

 public sqlconn1() {
  try {
   Class.forName(DBdriver);
  } catch (java.lang.ClassNotFoundException e) {
   System.err.println("conn(): " + e.getMessage());
  }
 }

 public void executeInsert(String sql) {
  try {
   conn = DriverManager.getConnection(Connstr, user, password);
   Statement stmt = conn.createStatement();

   int n = stmt.executeUpdate(sql);
  } catch (SQLException ex) {
   System.err.println("conn.executeUpdate:" + ex.getMessage());
  }
 }

 public ResultSet executeQuery(String sql) {
  rs = null;
  try {
   conn = DriverManager.getConnection(Connstr, user, password);
   Statement stmt;
   stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_UPDATABLE);
   rs = stmt.executeQuery(sql);
  } catch (SQLException ex) {
   System.err.println("aq.executeQuery: " + ex.getMessage());
  }
  return rs;
 }

 public void executeDelete(String sql) {
  try {
   conn = DriverManager.getConnection(Connstr, user, password);
   Statement stmt = conn.createStatement();
   stmt.executeUpdate(sql);
  } catch (SQLException ex) {
   System.err.println("conn.executeDelete: " + ex.getMessage());
  }
 }

 public int executeUpdate(String sql) {
  int n = 0;
  try {
   conn = DriverManager.getConnection(Connstr, user, password);
   Statement stmt = conn.createStatement();

   n = stmt.executeUpdate(sql);
  } catch (SQLException ex) {
   System.err.println("conn.executeDelete: " + ex.getMessage());
  }
  return n;
 }

 public void Close() {
  try {
   if (rs != null) {
    rs.close();
   }
   if (conn != null) {
    conn.close();
   }
  } catch (SQLException ex) {
   System.err.println("conn.executeDelete: " + ex.getMessage());
  }

 }
}

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值