亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? database.java

?? 用JSP+javabean編寫的圖書管理系統
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/**********************************************************
Copyright (C),2003-10-12, Beijing  USTB.
All rights reserved.
Filename: Datebase.java
Author: 劉中兵   
Version 1.0
Date:2003-10-12
Description:此文件為數據庫的基本操作處理類
Other:
Variable List:
1.Connection conn = null;//數據庫連接對象

Function List:
//基本操作
1.public DataBase()//構造函數
2.public void getConnPool()//取得連接池
3.public void createConn(String url,String usr,String pwd)//生成Oracle SQLServer等的連接
4.public void createConn(String url)//生成Access連接
5.public void releaseConn()//釋放數據庫連接
6.public ResultSet QuerySQL(String sql)//查詢記錄
7.public int ExecuteSQL(String sql)//執行增刪改的語句

//輔助使用函數
8.public int makeID(String table,String field1,String field2,String value1,boolean type1)//產生唯一編號,type1為false時表示條件字段為字符串類型
  public int makeID(String table,String field1,String field2,String field3,String value1,String value2,boolean type1,boolean type2)
  public int makeID_Add1(String table,String field1,String field2,String value1,boolean type1)//產生唯一編號,type1為false時表示條件字段為字符串類型
  public int makeID_Add1(String table,String field1,String field2,String field3,String value1,String value2,boolean type1,boolean type2)
9.public int toID(String table,String field1,String field2,String value1)//將名稱轉換為編號

10.public String toName(String table,String field1,String field2,String value)//將編號轉換為名稱
11.public Vector getOnePage(String sql,int page,int records)//分頁時取得一頁的數據量
12.public int setSort(String table,String field1,String field2,String wherestr,String orderstr,boolean b)//為某一個字段進行重新排序

//查詢與更新LOB類型
13.public String QueryCLOB(String table,String wherestr,String clobfield)//查詢CLOB類型值
14.public int UpdateCLOB(String table,String wherestr,String blobfield,String blobvalue)//修改CLOB類型值
15.public String QueryBLOB(String table,String wherestr,String blobfield)//查詢BLOB類型值
16.public int UpdateBLOB(String table,String wherestr,String blobfield,String blobvalue)//修改BLOB類型值
17.public String QueryBLOB_JNDI(String table,String wherestr,String blobfield)//查詢BLOB類型值
178.public int UpdateBLOB_JNDI(String table,String wherestr,String blobfield,String blobvalue)//修改BLOB類型值


//LOB類型基本操作(到文件)
19.public int clobInsert(String sql,String table,String wherestr,String clobfield,String infile)//往數據庫中插入一個新的CLOB對象
20.public int clobModify(String table,String wherestr,String clobfield,String infile)//修改CLOB對象(是在原CLOB對象基礎上進行覆蓋式的修改)
21.public int clobReplace(String table,String wherestr,String clobfield,String infile)//替換CLOB對象(將原CLOB對象清除,換成一個全新的CLOB對象)
22.public int blobInsert(String sql,String table,String wherestr,String blobfield,String infile)//往數據庫中插入一個新的BLOB對象
23.public int blobModify(String table,String wherestr,String blobfield,String infile)//修改BLOB對象(是在原BLOB對象基礎上進行覆蓋式的修改)
24.public int blobReplace(String table,String wherestr,String blobfield,String infile)//替換BLOB對象(將原BLOB對象清除,換成一個全新的BLOB對象)

//數據庫結構信息
25.public Hashtable getDataBaseInfo()//數據庫信息
26;public Vector getTableList()//數據表列表
27.public Vector getTableStruct(String table)//數據表的結構
28.public Vector getResultSetData(ResultSet rs)//取得數據集內容



41.public Vector getData(String sql);


//改動:三個關閉函數,一定要按照順序關閉:conn,pstm,rs
11.public Vector getOnePage(String sql,int page,int records)//分頁時取得一頁的數據量
以下是經過分析后較好的兩種ORACLE翻頁SQL語句( ID是唯一關鍵字的字段名 ):
語句一:
SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 條件1 ORDER BY 條件2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 條件3; 
語句二:
SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (select [FIELD_NAME,...] FROM TABLE_NAME WHERE 條件1 ORDER BY 條件2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 條件3;
例如:
SELECT * FROM (SELECT ROWNUM AS NUMROW, c.* from (select * FROM sms) c)
WHERE NUMROW > 80 AND NUMROW < 100 ;

///////////////////事務處理:在執行前設為非自動,完成后自動提交,這樣效率更高/////////////////////////////////
//																									//
//		1.public boolean getAutoCommit();															//
//		2.public void closeAutoCommit();															//
//		3.public void commit();																		//
//		4.public void rollback();																	//
//		5.public void openAutoCommit();																//
//																									//
//////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////對sql語句的參數化處理(按如下順序使用)////////////////////////////////////////
//																									//
//		1.public void prepareStatement(String sql)//創建申明對象										//
//		2.public void executeQuery()//執行查詢														//
//		3.public boolean next()//轉向下一條															//
//		4.public String getObject(String field,String sqlType)//取得數據并根據數據類型轉化為字符串		//
//		5.public void setObject(int index,String value,String sqlType)//根據數據類型保存到數據庫		//
//		6.public void executeUpdate()//執行更新														//
//		7.public void closePstm()//關閉申明對象														//
//		8.public void closeRs()//關閉游標																//
//																									//
//////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////對sql語句的批處理(按如下順序使用)////////////////////////////////////////////
//參考SmaBean.add()																					//
//		0.Statement stm = null ;//專門使用															//
//		1.public void createStatement();//專門使用													//
//		2.public void clearBatch();																	//
//		3.public void addBatch(String sql);															//
//		4.public int[] executeBatch();																//
//		0.public void closeStm();//專門使用															//
//																									//
//////////////////////////////////////////////////////////////////////////////////////////////////////



History:
date:2003-11-21
name:liumei
action:修改getOnePage(String sql,int page,int records)//分頁時取得一頁的數據量
	   每頁的記錄顯示條數從字典中取,即去掉records的作用
***********************************************************/
package kjb.main;

import java.util.*;
import java.text.*;
import java.sql.*;
import java.io.*;
import java.lang.*;
import javax.naming.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.*;

/**
 * 此文件為數據庫的基本操作處理類
 * @author 劉中兵
 * @version 1.0-hg
*/
public class DataBase extends Object
{
	Connection conn = null;
	Statement stm = null;
	PreparedStatement pstm = null;
	ResultSet rs = null;

	boolean connected = false;

	/**構造函數*/
	public DataBase()
	{
	}

	public void showConnNUM()
	{
		//連接池中使用
		DealString ds = new DealString();
		int curnum = Configuration.connMgr.getCurConns(Configuration.ConnectionPoolName);
		int sumnum = Configuration.connMgr.getSumConns(Configuration.ConnectionPoolName);
		int maxnum = Configuration.connMgr.getMaxConns(Configuration.ConnectionPoolName);
		int isNullPool = Configuration.connMgr.getNullPool(Configuration.ConnectionPoolName);
		int isOracleErr = Configuration.connMgr.getOracleErr(Configuration.ConnectionPoolName);
		int jvmcount = ParentBean.count;
		float jvm1 = (float)Runtime.getRuntime().totalMemory()/1024/1024;
		float jvm2 = (float)Runtime.getRuntime().maxMemory()/1024/1024;
		System.out.print("\r" + ds.getDateTime ( ).substring ( 11 , 19 ) + "  連接累計> "+ds.toLengthStrRight(sumnum+"",10)+"當前連接> "+ds.toLengthStrRight(curnum+"",10)+"池中連接> "+ds.toLengthStrRight(maxnum+"",10)+"池空未連接> " +ds.toLengthStrRight(isNullPool+"",10)+"DB未響應> " +ds.toLengthStrRight(isOracleErr+"",10)+"JVM垃圾回收> "+jvmcount+"  ");
	}

	/**取得連接池*/
	public void getConnPool()
	{
		try
		{
			if(connected){
				throw new SQLException("數據庫已連接,無須重連!");
			}
			Context initCtx = new InitialContext(); 
			Context ctx = (Context) initCtx.lookup("java:comp/env"); 

			/**獲取連接池對象*/
			Object obj = (Object) ctx.lookup("jdbc/OracleDB"); 

			/**類型轉換*/
			javax.sql.DataSource ds = (javax.sql.DataSource)obj; 
			conn = ds.getConnection();

			/**測試連接計數*/
			connected = true;
			showConnNUM();
		}
		catch(NamingException e){System.out.println("從數據池取得數據庫連接時出錯;\r\n錯誤為:"+e);}
		catch(SQLException e){System.out.println("從數據池取得數據庫連接時出錯;\r\n錯誤為:"+e);}
	}

	/**創建我的連接池*/
	public boolean getMyConnPool()
	{
		conn = Configuration.connMgr.getConnection(Configuration.ConnectionPoolName);
		showConnNUM();
		if(conn == null)
		{
			return false;
		}
		else
		{
			return true;
		}
	}

	/**釋放我的連接池*/
	public boolean releaseMyConnPool()
	{
		boolean b;
		if ( conn !=null )
		{
			b = true;
		}
		else
		{
			b = false;
		}
		Configuration.connMgr.freeConnection(Configuration.ConnectionPoolName, conn);
		conn = null ;
		showConnNUM();
		return b;
	}

/*
	public void getConnDataSourse()
	{
		try
		{

			OracleDataSource ods = new OracleDataSource();
			ods.setDriverType("thin");
			ods.setServerName("10.0.0.94");
			ods.setNetworkProtocol("tcp");
			ods.setDatabaseName("hg");
			ods.setPortNumber(1521);
			ods.setUser("oaadminuser");
			ods.setPassword("lancom4454");

			// 從數據源中獲取數據庫連接
			conn = ods.getConnection();

			/**測試連接計數
			ParentBean.curnum++;
			ParentBean.sumnum++;
		}
		catch(SQLException e){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+e);}
	}

	public void getConnJNDI()
	{
		Context ctx = null;
		try
		{
			//建立上下文環境
			Hashtable env = new Hashtable (5);
			env.put (Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");
			env.put (Context.PROVIDER_URL, "file:JNDI");
			ctx = new InitialContext(env);

			//從JNDI取得連接
			OracleDataSource ods1 = (OracleDataSource) ctx.lookup ("jdbc/chidb");

			if(ods1==null)
			{
				

				//建立數據源綁定
				OracleDataSource ods = new OracleDataSource();
				ods.setDriverType("thin");
				ods.setServerName("10.0.0.94");
				ods.setNetworkProtocol("tcp");
				ods.setDatabaseName("hg");
				ods.setPortNumber(1521);
				ods.setUser("oaadminuser");
				ods.setPassword("lancom4454");
				ctx.bind ("jdbc/chidb",ods);
			}

			ods1 = (OracleDataSource) ctx.lookup ("jdbc/chidb");
			conn = ods1.getConnection();

		}
		catch(SQLException e){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+e);}
		catch (NamingException ne)
		{
			ne.printStackTrace();
		}
	}
*/

	/**生成Oracle SQLServer等的連接*/
	public void createConn(String drv,String url,String usr,String pwd)
	{
		try
		{
			if(connected){
				throw new SQLException("數據庫已連接,無須重連!");
			}
			Class.forName(drv).newInstance();
			conn = DriverManager.getConnection(url,usr,pwd);

			connected = true;

			/**測試連接計數*/
			showConnNUM();
		}
		catch(ClassNotFoundException ec){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+ec);}
		catch(SQLException e){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+e);}
		catch(Exception et){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+et);}
	}

	/**生成Access連接*/
	public void createConn(String drv,String url)
	{
		try
		{
			if(connected){
				throw new Exception("數據庫已連接,無須重連!");
			}
			Class.forName(drv).newInstance();
			conn = DriverManager.getConnection(url);
			connected = true;

			/**測試連接計數*/
			showConnNUM();
		}
		catch(ClassNotFoundException ec){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+ec);}
		catch(SQLException e){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+e);}
		catch(Exception et){System.out.println("從自身建立數據庫連接時出錯;\r\n錯誤為:"+et);}
	}

	/**釋放數據庫連接*/
	public void releaseConn()
	{
		try
		{
			if(!connected){
				//throw new SQLException("數據庫未連接!");
			}
			if(conn!=null)
			{
				conn.close();
				connected = false;

				/**測試連接計數*/
				showConnNUM();
			}
		}
		catch(SQLException e){System.out.println("關閉數據庫連接時出錯;\r\n錯誤為:"+e);}
	}	

	/**查詢記錄*/
	public ResultSet QuerySQL(String sql)
	{
		ResultSet rs = null;
		try
		{
			pstm = conn.prepareStatement(sql);
			rs = pstm.executeQuery();
		}catch(SQLException sqle){
			System.out.println("執行DataBase::QuerySQL(String)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+sqle);
			if(pstm!=null)
			try{pstm.close();}catch(Exception e){System.out.println("執行DataBase::QuerySQL(String)試圖關閉錯誤的聲明時出錯;\r\n錯誤為:"+e);}
		}
		return rs;
	}

	/**執行增刪改的語句*/
	public int ExecuteSQL(String sql)
	{
		try
		{
			pstm = conn.prepareStatement(sql);
			pstm.executeUpdate();
			conn.commit();
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线一区免费| 欧美不卡一区二区三区| 91国产精品成人| 日韩精品一区二区三区视频播放| 成人免费在线视频观看| 亚洲成人中文在线| 国产盗摄一区二区三区| 9191精品国产综合久久久久久| 欧美精品一区二区三区蜜桃 | 国产不卡视频在线观看| 丁香婷婷综合网| 欧美日本一区二区三区四区| 国产精品乱人伦| 日本女优在线视频一区二区| 99热国产精品| 日韩一区二区电影| 亚洲少妇30p| 黄色成人免费在线| 欧日韩精品视频| 亚洲欧美国产毛片在线| 国产真实乱对白精彩久久| 91成人在线精品| 亚洲欧美国产三级| 懂色av中文一区二区三区| 欧美一级黄色大片| 日韩精品久久久久久| 99久久国产免费看| 国产午夜精品一区二区三区嫩草| 亚洲成年人影院| 欧美三电影在线| 最新中文字幕一区二区三区| 精品一区二区免费在线观看| 日韩亚洲国产中文字幕欧美| 亚洲午夜免费电影| 成人国产电影网| 4hu四虎永久在线影院成人| 亚洲国产欧美日韩另类综合| 成人做爰69片免费看网站| 欧美成人官网二区| 国内精品国产三级国产a久久| 欧美日韩mp4| 亚洲观看高清完整版在线观看| 丁香六月综合激情| 国产日本一区二区| 国产精品99久久久| 2022国产精品视频| 成人在线视频首页| 欧美国产精品专区| 大白屁股一区二区视频| 国产精品久久久久桃色tv| 不卡的av网站| 亚洲男人的天堂一区二区| 91女厕偷拍女厕偷拍高清| 亚洲色图20p| 91福利视频久久久久| 国产精品美女www爽爽爽| 91麻豆国产自产在线观看| 亚洲美女偷拍久久| 在线视频综合导航| 免费人成在线不卡| 久久综合九色综合欧美就去吻 | 日韩黄色一级片| 欧美区在线观看| 美女网站色91| 国产亚洲一区二区三区| 色偷偷久久一区二区三区| 亚洲小说欧美激情另类| 欧美群妇大交群中文字幕| 成人免费一区二区三区视频| 色婷婷久久久久swag精品| 一区二区三区91| 欧美日韩美少妇| 国产精品一区免费在线观看| 国产精品久久久久久久浪潮网站| 91浏览器在线视频| 国产又黄又大久久| 中文字幕一区二区三区不卡| 色吧成人激情小说| 国产麻豆91精品| 亚洲已满18点击进入久久| 欧美老女人第四色| 国产真实精品久久二三区| 亚洲高清久久久| 久久亚洲欧美国产精品乐播| 94-欧美-setu| 国产精品影音先锋| 亚洲香蕉伊在人在线观| 精品国产自在久精品国产| 欧美主播一区二区三区美女| 日本aⅴ精品一区二区三区| 国产女人水真多18毛片18精品视频 | 国产精品1区二区.| 亚洲美女精品一区| 欧美一区二区日韩一区二区| 不卡的av电影| 久久超碰97中文字幕| 亚洲精品水蜜桃| 精品少妇一区二区三区在线视频| 国内成人精品2018免费看| 亚洲老司机在线| 日韩一二三区不卡| 91免费小视频| 国产精品一卡二卡在线观看| 亚洲mv在线观看| 中文字幕中文字幕一区二区| 51精品国自产在线| 91精品国产福利| 91一区二区三区在线观看| 久久91精品久久久久久秒播| 欧美激情一区二区在线| 久久免费看少妇高潮| 国产盗摄一区二区| 亚洲婷婷综合色高清在线| 亚洲国产精品t66y| 国产盗摄女厕一区二区三区| 亚欧色一区w666天堂| 亚洲人一二三区| 91精品国产一区二区三区| 欧美精品1区2区3区| 色94色欧美sute亚洲线路一久| 国产一二三精品| 成人在线一区二区三区| 韩国三级在线一区| 美脚の诱脚舐め脚责91| 国产精品免费视频观看| 国产精品国产三级国产普通话三级| 精品国产伦一区二区三区观看方式| 欧美精品在线观看播放| 欧美一卡在线观看| 这里是久久伊人| 7777精品久久久大香线蕉| 欧美精品精品一区| 国内成人免费视频| 一区二区三区资源| 国产精品麻豆99久久久久久| 国产欧美日韩三级| 日韩欧美国产三级| 欧美性一级生活| 欧美一区二区三区影视| 国产精品毛片久久久久久久| 亚洲视频中文字幕| 一区二区三区久久| 欧美福利视频导航| 欧美精品一区二区三区蜜桃视频| 日韩高清国产一区在线| 国产综合久久久久影院| 不卡一区二区三区四区| 欧美日韩在线观看一区二区| 轻轻草成人在线| proumb性欧美在线观看| 色欧美片视频在线观看在线视频| 欧美a级一区二区| 国产白丝精品91爽爽久久| 欧美日韩亚州综合| 亚洲人吸女人奶水| 丰满放荡岳乱妇91ww| 国产真实精品久久二三区| 国产.欧美.日韩| 国产日韩av一区| 成人一区二区在线观看| 久久综合九色综合97_久久久| 首页亚洲欧美制服丝腿| 欧美一区二区三区四区久久| 一级做a爱片久久| 日韩欧美的一区二区| 亚洲视频一二三| 欧美午夜电影在线播放| 天天综合色天天| 91精品国产全国免费观看| 亚洲午夜精品网| 日韩一级黄色大片| av不卡一区二区三区| 亚洲精选在线视频| 日韩视频一区二区三区在线播放| 久久电影网站中文字幕| 国产精品短视频| 欧美一区二区三区系列电影| 国产精品一区免费视频| 亚洲主播在线观看| 欧美私模裸体表演在线观看| 亚洲乱码国产乱码精品精的特点| 欧美性xxxxxx少妇| 国产 欧美在线| 蜜桃精品视频在线观看| 亚洲精品一卡二卡| 精品国产精品网麻豆系列| 91久久一区二区| 99久久久精品免费观看国产蜜| 青青草原综合久久大伊人精品优势 | 亚洲综合免费观看高清在线观看| 2024国产精品| 91精品国产免费| 欧美日韩大陆一区二区| 99re66热这里只有精品3直播| 国产精选一区二区三区| 色老汉一区二区三区| 亚洲成人精品一区二区| 亚洲欧美综合色| 成人免费在线播放视频| 国产精品欧美一区二区三区|