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

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

?? database.java

?? 優秀的客戶關系管理系統
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/**********************************************************
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)//取得數據集內容

//對sql語句的分布處理
29.public void prepareStatement(String sql)//創建申明對象
30.public void executeQuery()//執行查詢
31.public boolean next()//轉向下一條
32.public String getObject(String field,String sqlType)//取得數據并根據數據類型轉化為字符串
33.public void setObject(int index,String value,String sqlType)//根據數據類型保存到數據庫
34.public void executeUpdate()//執行更新
35.public void closePstm()//關閉申明對象
36.public void closeRs()//關閉游標

37.public Vector getData(String sql);

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

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.*;
import com.parser.Configuration;
import com.util.*;

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

	boolean connected = false;

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

	/**取得連接池*/
	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;
			ParentBean.showConnNUM(true);
		}
		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);
		ParentBean.showConnNUM(true);
		if(conn == null)
		{
			return false;
		}
		else
		{
			return true;
		}
	}

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

/*
	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;

			/**測試連接計數*/
			ParentBean.showConnNUM(true);
		}
		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;

			/**測試連接計數*/
			ParentBean.showConnNUM(true);
		}
		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;

				/**測試連接計數*/
				ParentBean.showConnNUM(false);
			}
		}
		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();
		}
		catch(SQLException sqle)
		{
			System.out.println("執行DataBase::ExecuteSQL(String)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+sqle);
			return sqle.getErrorCode();
		}
		finally{
			try{
			pstm.close();
			}catch(SQLException sqle){System.out.println("執行DataBase::ExecuteSQL(String)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+sqle);}
		}
		return 0;
	}

	/**產生唯一編號*/
 	public int makeID(String table,String field1,String field2,String value1,boolean type1)
	{
		int out = -1;
		String sql = "";
		try
		{
					//只有唯一主鍵field1
			sql = "select "+field1+" as ID from "+table+" order by "+field1;
					//有兩個主鍵field1、field2
			if(!value1.equals(""))//當第一個字段不空時,作為條件查詢第二個字段
			{
				sql = "select "+field2+" as ID from "+table+" where "+field1+"="+value1+" order by "+field2;
				if(!type1)       //是字符串時 將type1設為false
					sql = "select "+field2+" as ID from "+table+" where "+field1+"='"+value1+"' order by "+field2;
			}
			pstm = conn.prepareStatement(sql);
			rs = pstm.executeQuery();
			int t1 = 1;
			int t2 = 2;
			if(rs.next())  //有記錄
			{
				t1 = rs.getInt("ID");
				out = t1;
				boolean bool = false;
				while(rs.next())   //不止一條紀錄
				{
					bool = true;
					t2 = rs.getInt("ID");
					if((t2-t1)>1)break;  //如果t2與t1相差大于1,則跳出去,新編號為t1++(見后面**)
					t1 = t2;			//否則將t2賦給t1
				}
				if(!bool)  //如果只有一條紀錄
				{
					if(t1>1)t1 = 1;  //如果已有紀錄的ID號大于1,則新編號設為1
					else t1++;
				}
				else t1++;		//**
			}
			if(out>1)out = 1;
			else out = t1;

		}catch(SQLException sqle){System.out.println("執行DataBase::makeID(String table,String field1,String field2,String value1,boolean type1)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+sqle);}
		finally{
			if(rs!=null){
				try{
				rs.close();
				}catch(SQLException e){System.out.println("執行DataBase::makeID(String table,String field1,String field2,String value1,boolean type1)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+e);}
			}
			if(pstm!=null){
				try{
				pstm.close();
				}catch(SQLException e){System.out.println("執行DataBase::makeID(String table,String field1,String field2,String value1,boolean type1)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+e);}
			}
		}
		return out;
	}

	/**產生唯一編號*/
 	public int makeID_Add1(String table,String field1,String field2,String value1,boolean type1)
	{
		int out = -1;
		String sql = "";
		try
		{
					//只有唯一主鍵field1
			sql = "select max("+field1+")+1 as ID from "+table+" order by "+field1;
					//有兩個主鍵field1、field2
			if(!value1.equals(""))//當第一個字段不空時,作為條件查詢第二個字段
			{
				sql = "select ("+field2+")+1 as ID from "+table+" where "+field1+"="+value1+" order by "+field2;
				if(!type1)       //是字符串時 將type1設為false
					sql = "select ("+field2+")+1 as ID from "+table+" where "+field1+"='"+value1+"' order by "+field2;
			}
			pstm = conn.prepareStatement(sql);
			rs = pstm.executeQuery();
			if(rs.next())  //有記錄
			{
				out = rs.getInt(1);
			}
		}catch(SQLException sqle){System.out.println("執行DataBase::makeID_Add1(String table,String field1,String field2,String value1,boolean type1)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+sqle);}
		finally{
			if(rs!=null){
				try{
				rs.close();
				}catch(SQLException e){System.out.println("執行DataBase::makeID_Add1(String table,String field1,String field2,String value1,boolean type1)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+e);}
			}
			if(pstm!=null){
				try{
				pstm.close();
				}catch(SQLException e){System.out.println("執行DataBase::makeID_Add1(String table,String field1,String field2,String value1,boolean type1)調用SQL語句 "+sql+" 時出錯;\r\n錯誤為:"+e);}
			}
		}
		return out;
	}

 	public int makeID(String table,String field1,String field2,String field3,String value1,String value2,boolean type1,boolean type2)
	{
		int out = -1;
		String sql = "";
		try
		{
					//只有唯一主鍵field1
			sql = "select "+field1+" as ID from "+table+" order by "+field1;
					//有兩個主鍵field1、field2
			if(!value1.equals(""))//當第一個字段不空時,作為條件查詢第二個字段
			{
				sql = "select "+field2+" as ID from "+table+" where "+field1+"="+value1+" order by "+field2;
				if(!type1)       //是字符串時 將type1設為false

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
大尺度一区二区| 国内精品免费**视频| caoporm超碰国产精品| 国产午夜精品美女毛片视频| 日韩高清欧美激情| 欧美一区二区三区人| 国产一区二区三区免费在线观看| 成人亚洲一区二区一| 2019国产精品| 亚洲第一福利视频在线| 色天使色偷偷av一区二区| 亚洲国产精品激情在线观看| 韩国中文字幕2020精品| 日韩写真欧美这视频| 亚洲成av人片在线观看无码| 欧美日韩在线播放三区四区| 亚洲电影视频在线| 4438亚洲最大| 奇米777欧美一区二区| 久久精品视频免费观看| 91.xcao| 夜夜精品视频一区二区| 欧美区在线观看| 久久超级碰视频| 九色|91porny| 岛国av在线一区| 精品国产一区二区三区av性色| 亚洲国产成人av好男人在线观看| 欧美一二三在线| 欧美国产日韩精品免费观看| 一区二区激情小说| 国产一区二区三区最好精华液| 麻豆国产精品官网| 日韩亚洲欧美在线| 色视频一区二区| 亚洲最新在线观看| 欧美亚洲动漫制服丝袜| 亚洲视频资源在线| 在线观看区一区二| 国产综合色在线| 亚洲男人的天堂在线观看| 成人黄色一级视频| 色综合久久88色综合天天免费| 日韩精品一区国产麻豆| 手机精品视频在线观看| 欧美日韩电影一区| 日日夜夜免费精品视频| 91精品福利在线一区二区三区 | 成人高清免费观看| 亚洲国产精华液网站w| 成人av资源网站| 国产精品美女久久久久aⅴ | 国产成人免费视频一区| 国产三级精品在线| 成人a级免费电影| 伊人开心综合网| 欧美日韩一区二区三区四区五区| 视频一区视频二区中文| 欧美一级日韩免费不卡| 蜜桃免费网站一区二区三区| 2021中文字幕一区亚洲| 成人网在线播放| 亚洲视频免费看| 精品视频色一区| 久久精品国产亚洲5555| 欧美经典一区二区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 麻豆精品视频在线观看免费| 精品国产第一区二区三区观看体验 | 欧美mv日韩mv亚洲| 国产成人综合精品三级| 成人免费在线播放视频| 欧美性猛片xxxx免费看久爱| 日本va欧美va精品| 久久精品视频一区| 91精彩视频在线观看| 日韩成人免费电影| 国产日韩欧美精品一区| 99re热视频这里只精品| 无吗不卡中文字幕| 久久影院午夜片一区| 91猫先生在线| 免费xxxx性欧美18vr| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品一区在线| 亚洲精品国产精品乱码不99| 欧美一区二区三区成人| 国产成人啪免费观看软件| 一区二区三区四区蜜桃| 欧美mv日韩mv国产网站app| 不卡视频免费播放| 青青草97国产精品免费观看无弹窗版 | 成人视屏免费看| 性久久久久久久久久久久| wwwwww.欧美系列| 在线欧美一区二区| 久久精品国产**网站演员| 亚洲天堂福利av| 日韩欧美123| 91久久精品一区二区二区| 激情五月激情综合网| 一区二区三区四区视频精品免费 | 欧美美女喷水视频| 成人网页在线观看| 美女网站色91| 亚洲综合在线第一页| 精品美女一区二区三区| 日本韩国欧美一区| 韩国成人在线视频| 亚洲v精品v日韩v欧美v专区 | 精品视频1区2区| 国产成人福利片| 日韩国产成人精品| 亚洲美女免费在线| 国产欧美一区二区三区沐欲 | 97精品国产露脸对白| 狠狠色丁香婷综合久久| 午夜精品一区二区三区电影天堂 | 亚洲乱码精品一二三四区日韩在线 | 国产激情一区二区三区| 亚洲成人av一区二区| 国产精品久久久久久久第一福利| 日韩欧美在线123| 欧美午夜一区二区三区免费大片| 成人精品一区二区三区四区| 免费在线一区观看| 五月开心婷婷久久| 一区二区三区中文字幕| 国产精品久久久久影院亚瑟| 精品国产麻豆免费人成网站| 欧美日韩国产美| 欧美在线观看一区二区| www..com久久爱| 国产成人在线视频免费播放| 久久国产欧美日韩精品| 婷婷一区二区三区| 午夜影视日本亚洲欧洲精品| 亚洲精选视频免费看| 国产精品传媒入口麻豆| 国产清纯在线一区二区www| 久久日一线二线三线suv| 日韩视频免费观看高清在线视频| 欧美性猛交xxxxxx富婆| 色哟哟亚洲精品| 一本到不卡免费一区二区| bt7086福利一区国产| 丁香网亚洲国际| 成人的网站免费观看| 国产盗摄精品一区二区三区在线 | 狠狠色丁香久久婷婷综合_中| 日本中文一区二区三区| 偷偷要91色婷婷| 日本中文在线一区| 久久精品国产精品亚洲综合| 精品亚洲国内自在自线福利| 日本成人在线不卡视频| 奇米精品一区二区三区四区 | 国产精品久久久久久久第一福利 | 一卡二卡欧美日韩| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲美腿欧美偷拍| 亚洲国产欧美在线人成| 亚洲成人av福利| 日本不卡视频在线观看| 六月丁香综合在线视频| 韩日av一区二区| 福利一区二区在线| www.日本不卡| 色呦呦国产精品| 欧美日韩一级二级| 555www色欧美视频| 欧美岛国在线观看| 久久久高清一区二区三区| 久久久久久久久免费| 国产精品无遮挡| 亚洲欧美另类久久久精品2019| 亚洲欧美经典视频| 丝袜美腿成人在线| 精品在线免费观看| 丁香啪啪综合成人亚洲小说 | 韩国女主播一区二区三区| 国产乱码精品一区二区三区忘忧草 | 国产精品国产三级国产有无不卡| 日韩美女精品在线| 亚洲第一福利视频在线| 欧美aaaaa成人免费观看视频| 国产一区二区三区四区在线观看 | 日韩二区在线观看| 久久精品国产精品亚洲精品| 国产成人啪免费观看软件| 日本韩国一区二区三区| 欧美一区二区三区在线视频| 久久久久国产一区二区三区四区| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品欧美久久久久无广告| 洋洋av久久久久久久一区| 久久福利视频一区二区| 不卡一二三区首页| 91精品国产91综合久久蜜臀| 国产丝袜欧美中文另类|