【汇智学堂】JDBC在工业企业ERP模块中的应用-5分页

标签: JAVA基础训练  数据库  java

在这里插入图片描述

//尾页查询的算法
jtnLast.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        //String b=jtQuery.getText();
        int intTotal= selectTotalCount();//查询总条数
        intPage=Integer.valueOf(intTotal/8);
        int inta=8*intPage;
        String sql="select*from orderNew limit "+inta+",8";
        list=selectOrder(sql);//List中放入订单的值
        String[][] aa=selectList();//将List中的值放入二维数组中
        setTable(aa,bb);
    }
});

//首页查询的算法
jtnFirst.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        String sql="select*from orderNew limit 0,8";
        list=selectOrder(sql);//List中放入订单的值
        String[][] aa=selectList();//将List中的值放入二维数组中
        setTable(aa,bb);
        intPage=0;
    }
});

//上一页查询的算法
jtnForward.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        if(intPage>=1){
            intPage-=1;
            int inta;
            inta=8*intPage;
            String sql="select*from orderNew limit "+inta+",8";
            list=selectOrder(sql);//List中放入订单的值
            String[][] aa=selectList();//将List中的值放入二维数组中
            setTable(aa,bb);
        }
    }
});

//下一页查询的算法
jtnBackward.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        int intTotal=Integer.valueOf(selectTotalCount()/8);
        if(intPage<intTotal){
            intPage+=1;
            int inta;
            inta=8*intPage;
            String sql="select*from orderNew limit "+inta+",8";
            list=selectOrder(sql);//List中放入订单的值
            String[][] aa=selectList();//将List中的值放入二维数组中
            setTable(aa,bb);
        }
    }
});
/**
 * 查询数据的总条数
 */
private int selectTotalCount(){
    try {
        Connection con=DB.getConnection();
        String sql="select count(*)from orderNew";
        PreparedStatement pst=con.prepareStatement(sql);
        ResultSet rs=pst.executeQuery();
        while(rs.next())
        {
           //打印的就是总记录数。把检索结果看成只有一跳记录一个字段的表
           int intTotal=rs.getInt(1);
           return intTotal;
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return 0;
}
原文链接:加载失败,请重新获取