📄 rspagedemo.java
字号:
//结果集分页显示
import java.sql.*;
public class RsPageDemo
{
//打开数据库连接
public Connection openDatabase()
{
try
{
//加载JDBC驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//创建数据库连接
Connection conn = DriverManager.getConnection("jdbc:odbc:HappyChat");
return conn;
}
catch (Exception e)
{
System.out.println("连接数据库失败!");
return null;
}
}
//查询数据库中记录
public void queryRecord(Connection con, String sql,int pageNo,int pageSize)
{
try
{
if(con==null)
throw new Exception("数据库连接失败!");
if(sql==null)
throw new Exception("查询字符串不能为空!");
int intRowCount;//记录总数
int intPageCount;//总页数
//声明语句
Statement sm = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//执行查询
ResultSet rs = sm.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
//获得数据字段个数
int intColumns = rsmd.getColumnCount();
//获取记录总数
rs.last();
intRowCount = rs.getRow();
//记算总页数
intPageCount = (intRowCount+pageSize-1) / pageSize;
//调整待显示的页码
if(pageNo>intPageCount) pageNo = intPageCount;
if(intPageCount>0)
{
//将记录指针定位到待显示页的第一条记录上
rs.absolute((pageNo-1) * pageSize + 1);
int i = 0;
while(i<pageSize && !rs.isAfterLast())
{
for(int j = 0;j< intColumns;j++)
{
String sTemp = rs.getString(j+1);
System.out.print(sTemp+" ");
}
i++;
rs.next();
System.out.println("");
}
}
}
catch(Exception e)
{
System.out.println("数据查询错误!");
}
}
public static void main(String[] arg)
{
if(arg.length!=2)
{
System.out.println("参数错误!");
System.out.println("use: java RsPageDemo NoPage PageSize");
return;
}
RsPageDemo rpd = new RsPageDemo();
String sql = "select * from history order by H_no";
int intPageNo = Integer.parseInt(arg[0]);
int intPageSize = Integer.parseInt(arg[1]);
rpd.queryRecord(rpd.openDatabase(),sql,intPageNo,intPageSize);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -