⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlpageutil.java

📁 JFrame-----java系统通用框架 可以研究一下哦
💻 JAVA
字号:
/*****************************************************************************
* (C) Copyright 2004 。
* 保留对所有使用、复制、修改和发布整个软件和相关文档的权利。
* 本计算机程序受著作权法和国际公约的保护,未经授权擅自复制或
* 传播本程序的全部或部分,可能受到严厉的民事和刑事制裁,并
* 在法律允许的范围内受到最大可能的起诉。
*/

 /*****************************************************************************
  * @作者:Golden Peng
  * @版本: 1.0
  * @时间: 2002-10-08
  */
 /*****************************************************************************
  * 修改记录清单
  * 修改人  :
  * 修改记录:
  * 修改时间:
  * 修改描述:
  *
  */
package com.corp.bisc.ebiz.util;

import com.corp.bisc.ebiz.base.*;
import java.sql.*;
import java.util.*;
/**
 * 此处插入类型描述。
 * 创建日期:(2002-6-21 17:40:25)
 * @author:pangwei
 */
public class SQLPageUtil extends ObjectBase{
/**
 * SQLPageUtil 构造子注解。
 */
public SQLPageUtil() {
	super();
}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.corp.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static void getOnePage(Connection conn, BizComponent bc, ResultSet rs, int record, int first) throws java.sql.SQLException {


	if(record == 0){
		bc.fromResultSet(rs);
		return ;
	}

	if(first <1){
		System.out.println("the first record number error");
		return;
	}
	int currNumber = first;


	int end = currNumber + record-1;

	int total = 0;

	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}
		}
			//System.out.println(total);
	}

	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;

	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if(!isLast)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());


}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.corp.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static BizComponent getOnePage(Connection conn, String SQL, int record, int first) throws java.sql.SQLException {

	Statement stat = conn.createStatement();
	ResultSet rs = stat.executeQuery(SQL);

	if(record == 0){
		BizComponent bc = new BizComponent("totalResult");
		bc.fromResultSet(rs);
		return bc;
	}

	if(first <1){
		System.out.println("the first record number error");
		return null;
	}
	int currNumber = first;


	int end = currNumber + record-1;

	int total = 0;

	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	BizComponent bc = new BizComponent("totalResult");
	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}
		}
			//System.out.println(total);
	}

	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;

	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if((end)<total)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());

	stat.close();

	return bc;


}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.corp.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static BizComponent getOnePage(Connection conn, ResultSet rs, int record, int first) throws java.sql.SQLException {


	if(record == 0){
		BizComponent bc = new BizComponent("totalResult");
		bc.fromResultSet(rs);
		return bc;
	}

	if(first <1){
		System.out.println("the first record number error");
		return null;
	}
	int currNumber = first;


	int end = currNumber + record-1;

	int total = 0;

	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	BizComponent bc = new BizComponent("totalResult");
	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}
		}
			//System.out.println(total);
	}

	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;

	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if((end)<total)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());

	return bc;


}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.corp.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static void gotoOnePage(Connection conn, BizComponent bc, ResultSet rs, int record, int gotopage) throws java.sql.SQLException {


	if(record == 0){
		bc.fromResultSet(rs);
		return ;
	}

	if(gotopage <1){
		System.out.println("error: the page number to go < 1");
		return;
	}
	int currNumber = (gotopage-1)*record;


	int end = currNumber + record-1;

	int total = 0;

	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}
		}
			//System.out.println(total);
	}

	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;

	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if(!isLast)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());


}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:50:00)
 * @param args java.lang.String[]
 */
public static void main(String[] args) {

	try{

		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@portal2", "infopub", "infopub");

		String sql = "select * from LC_STOCK_STRUCTURES where rownum<30";
		Statement stat = conn.createStatement();
		ResultSet rs = stat.executeQuery(sql);

		BizComponent biz = new BizComponent("aa");
		SQLPageUtil.getOnePage(conn,biz,rs,10,11);
		biz.dump(System.out);
	}catch(Exception e){
		System.out.println(e);
	}

}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -