database.java~4~
来自「一个银行数据中心网站」· JAVA~4~ 代码 · 共 98 行
JAVA~4~
98 行
package com.am;
import java.text.*;
import java.util.*;
import java.lang.*;
import java.io.*;
import java.sql.*;
import com.am.*;
public class DataBase {
// Fields
Connection conn;
Statement stm=null;
PreparedStatement pstm;
ResultSet rs=null;
boolean connected;
// Constructors
public DataBase() { }
public ResultSet QuerySQL(String sql) {
OpenDB od=new OpenDB();
od.getConnection();
try{
stm = conn.createStatement();
rs = stm.executeQuery(sql);}catch(Exception ex){}
return rs;
}
public Vector getOnePage(String sql,int page,int records)
{
//第一个为总页数*/
//第二...个为Hashtable*/
Vector vect = new Vector();
int zdrecords = records;
try
{
//查询总页数
// pstm.clearBatch();
pstm = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = pstm.executeQuery();
int rows = 0;
while(rs.next())
{
rows++;
}
int sum = rows/zdrecords;
if(rows%zdrecords!=0||rows==0)sum++;
vect.add(""+sum);
rs.close();pstm.close();
//移到当前行
// pstm.clearBatch();
pstm = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = pstm.executeQuery();
rows = (page-1)*zdrecords;
rs.absolute(rows+1);
rs.previous();
DealString ds = new DealString();
//查询当前页
int j=0;
while(rs.next())
{
if(j==zdrecords)break;
j++;
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
Hashtable hash = new Hashtable();
for(int i=1;i<=cols;i++)
{
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
hash.put(field,value);
}
vect.add(hash);
}
}catch(SQLException sqle){System.out.println("DataBase::getOnePage(String,int,int)执行SQL语句 "+sql+" 分页至第 "+page+" 页时出错;错误为:"+sqle);}
finally{
if(rs!=null){
try{
rs.close();
}catch(SQLException e){System.out.println("DataBase::getOnePage(String,int,int)调用SQL语句 "+sql+" 时出错;\r\n错误为:"+e);}
}
if(pstm!=null){
try{
pstm.close();
}catch(SQLException e){System.out.println("DataBase::getOnePage(String,int,int)调用SQL语句 "+sql+" 时出错;\r\n错误为:"+e);}
}
}
return vect;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?