📄 splitpager.java
字号:
package DAO;
import java.sql.*;
import java.util.*;
import VO.*;
public class SplitPager {
/*
* _sql_str:传入的sql语句 _total_records: 总记录数目 _pageSize: 每页显示的记录数目 _page:
* 所分的逻辑页数
*/
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;
private ResultSetMetaData rsmd = null;
private String _sql_str;
private int _total_records;
private int _pages;
private int _pagesize;
public void setConnection(Connection con) {
this.con = con;
if (this.con == null)
System.out.println("Failure to get a connection!");
else
System.out.println("Success to get a connection!");
}
public void initialize(String sqlStr, int pageSize) {
this._sql_str = sqlStr;
this._pagesize = pageSize;
try {
stmt = this.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(this._sql_str);
rsmd = rs.getMetaData();
if (rs != null) {
rs.last();
this._total_records = rs.getRow();
rs.first();
this._pages = (this._total_records - 1) / this._pagesize + 1;
}
} catch (SQLException e) {
System.out.println(e.toString());
}
}
public Vector getPage(int ipage) {
Vector vData = new Vector();
int n = ipage;
int m = 0;
m = (n - 1) * this._pagesize + 1;
try {
if (rs != null) {
// if (n!=1) {rs.absolute(m);}
rs.absolute(m);
for (int i = 0; i < this._pagesize; i++) {
String[] sData = new String[6];
for (int j = 0; j < rsmd.getColumnCount(); j++) {
sData[j] = rs.getString(j + 1);
}
if (sData == null) {
break;
}
vData.addElement(sData);
rs.next();
}
}
rs.close();
stmt.close();
} catch (SQLException e) {
System.out.println(e.toString());
}
return vData;
}
public int getPages() {
return this._pages;
}
public int getTotalRecords() {
return this._total_records;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -