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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? merge.java

?? 合并幾個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)相同的數(shù)據(jù)庫(kù)文件。hsql數(shù)據(jù)庫(kù)文件合并
?? JAVA
字號(hào):
package merge;

import java.io.File;
import java.sql.ResultSet;




public class Merge {

	private HsqldbDao dao;
	private static String dbpath="dbs";
	private String[] dbs;//所有數(shù)據(jù)庫(kù)文件列表
	
	public Merge() {
		this.dao=new HsqldbDao();
		this.setDbs();
		this.createFinalDB();
	}
	
	private void setDbs(){
		File f=new File(dbpath);
		File[] fList=null;
		if(f.isDirectory()){
			fList = f.listFiles();
		}
		this.dbs=new String[fList.length];
		for(int i=0;i<fList.length;i++){
			if(fList[i].isDirectory()){
				File[] sub=fList[i].listFiles();
				for(int j=0;j<sub.length;j++){
					if(sub[j].getName().contains(".script")){
						dbs[i]=dbpath+"\\"+fList[i].getName()
						+"\\"+sub[j].getName().replaceAll(".script", "");
						break;
					}
				}
			}
		}
	}
	
	private void createFinalDB(){
		File ori=new File("finaldb");
		if(ori.isDirectory()){
			if(ori.listFiles()!=null){
				File[] oris=ori.listFiles();
				for(int i=0;i<oris.length;i++){
					System.out.println("delete "+oris[i].getName());
					oris[i].delete();
				}
			}
		}
		File f=new File(dbpath);
		File[] fList=null;
		if(f.isDirectory()){
			fList = f.listFiles();
		}
		if(fList!=null){
			if(fList.length>0){
				File[] fs=fList[0].listFiles();
				for(int j=0;j<fs.length;j++){
					if(fs[j].getName().contains(".script")
							||fs[j].getName().contains(".properties")){
						File k=new File("finaldb\\"+fs[j].getName());
						if(fs[j].getName().contains(".script")){
							k=new File("finaldb\\final.script");
						}
						if(fs[j].getName().contains(".properties")){
							k=new File("finaldb\\final.properties");
						}
						FileCopy fcopy = new FileCopy();    
						try{
							fcopy.copyFile(fs[j],k);
						}catch(Exception e){
							e.printStackTrace();
						}
					}
				}
			}
		}
	}
	
	public String[] getDbspath(){
		return this.dbs;
	}
	
	private String[] getTnames(String path){
		if(path==null) return null;
		File f=new File(path);
		if(f.isDirectory()){
			File[] fs=f.listFiles();
			int len=0;
			for(int i=0;i<fs.length;i++){
				if(fs[i].getName().contains(".csv")){
					len++;
				}
			}
			String [] tnames=new String[len];
			int k=0;
			for(int i=0;i<fs.length;i++){
				if(fs[i].getName().contains(".csv")){
					tnames[k]=fs[i].getName().replaceAll(".csv", "");
					System.out.println(tnames[k]);
					k++;
				}
			}
			return tnames;
		}
		return null;
	}
	
	public String checkUser(int cur,String id){
		if(id==null||this.dbs==null)return null;
		String mes=null;
		HsqldbDao check=new HsqldbDao();
		for(int i=0;i<=cur;i++){
			check.setConstr("jdbc:hsqldb:file:"+dbs[i]);
			check.openConnection();
			String sql="select * from users where id='"+id+"'";
			ResultSet rs=check.executeQuery(sql);
			try{
				while(rs.next()){
					mes="\t"+dbs[i]+".users has the PK-->"+id
					+"\n\t"+dbs[cur]+".users has the PK-->"+id;
				}
				break;
			}catch(Exception e){
				e.printStackTrace();
			}
			check.closeConnection();
		}
		return mes; 
	}
	
	public String checkRep(int cur,String tname,String userid,String date){
		if(tname==null||userid==null||date==null)return null;
		String mes=null;
		HsqldbDao check=new HsqldbDao();
		check.setConstr("jdbc:hsqldb:file:finaldb\\final");
		String sql1="select * from "+tname+" where userid='"+userid
		+"' and date='"+date+"'";
		check.openConnection();
		ResultSet rs1=check.executeQuery(sql1);
		boolean ch=false;
		try{
			while(rs1.next()){
				ch=true;
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		check.closeConnection();
		if(!ch)return null;
		for(int i=0;i<=cur;i++){
			check.setConstr("jdbc:hsqldb:file:"+dbs[i]);
			check.openConnection();
			String sql="select * from "+tname+" where userid='"+userid
			+"' and date='"+date+"'" ;
			ResultSet rs=check.executeQuery(sql);
			try{
				while(rs.next()){
					mes="\t"+dbs[i]+"."+tname+" has (userid,date)-->("
					+userid+","+date+")"
					+"\n\t"+dbs[cur]+"."+tname+" has (userid,date)-->("
					+userid+","+date+")";
				}
				break;
			}catch(Exception e){
				e.printStackTrace();
			}
			check.closeConnection();
		}
		return mes;
	}
	
	public  void mergeData(){
		if(this.dbs==null)return;
		if(this.dao==null){
			dao=new HsqldbDao();
		}
		Log log=new Log();
		for(int i=0;i<dbs.length;i++){
			String f1=dbs[i];
			ResultSet rs=null;
			String [] tnames=this.getTnames(f1.substring(0, f1.lastIndexOf("\\")));
			for(int j=0;j<tnames.length;j++){
				try{
					dao.setConstr("jdbc:hsqldb:file:"+f1);
					dao.openConnection();
					String sql="select * from "+tnames[j];
					rs= dao.executeQuery(sql);
					dao.closeConnection();
				}
				catch(Exception w){
					w.printStackTrace();
				}
				try{
					dao.setConstr("jdbc:hsqldb:file:finaldb\\final");
					dao.openConnection();
					while(rs.next()){
						String[] cols=this.getCols(rs);
						String sql1=this.insertSql(cols,tnames[j], rs);
						System.out.println(sql1);
						if(tnames[j].equalsIgnoreCase("users")){
							int result=dao.executeUpdate(sql1);
							if(result==0){
								String mes=this.checkUser(i, rs.getString("id"));
								log.addTime("can't insert: "+sql1);
								log.addMes(mes);
								System.out.println("can't insert:"+sql1);
							}
						}
						else{
							String uid=rs.getString("userid");
							String date=rs.getString("date");
							String mes=this.checkRep(i, tnames[j], uid, date);
							if(mes==null){
								int result=dao.executeUpdate(sql1);
								if(result==0){
									log.addTime("can't insert:"+sql1);
									log.addMes("  this is may because of the formation of table "
											+dbs[i]+"."+tnames[j]+" is wrong or the finally DB doesn't "
											+"exist this table_name");
								}
							}
							else{
								log.addTime("can't insert:"+sql1);
								log.addMes(mes);
							}
						}
					}
					dao.closeConnection();
				}catch(Exception w){
					System.out.println("!!");
					w.printStackTrace();
				}
			}		
		}
		log.writeLog();
		log.closeLog();
	}
	
	private String[] getCols(ResultSet rs){
		if(rs==null)return null;
		try{
			int i=rs.getMetaData().getColumnCount();
			String[] cols=new String[2*i];
	        for(int j=0;j<2*i;j+=2){
	     	   cols[j]=rs.getMetaData().getColumnName(j/2+1);
	     	   cols[j+1]=rs.getMetaData().getColumnClassName(j/2+1);
	        }
	        return cols;
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}
	
	private String insertSql(String [] cols,String tname,ResultSet rs){
		String sql=null;
		if(rs==null)return null;
		try{
			StringBuffer c=new StringBuffer();
			StringBuffer vc=new StringBuffer();
			if(tname.equalsIgnoreCase("users")){
				for(int k=0;k<cols.length;k+=2){
					c.append(cols[k]+",");
					if(cols[k+1].contains("Integer"))
						vc.append(rs.getInt(cols[k])+",");
					if(cols[k+1].contains("String")
							||cols[k+1].contains("Timestamp"))
						vc.append("'"+rs.getString(cols[k])+"'"+",");
				}
				c.deleteCharAt(c.length()-1);
				vc.deleteCharAt(vc.length()-1);
				sql="insert into users("+new String(c)+")values("+new String(vc)+")";
			}
			if(!tname.equalsIgnoreCase("users")){
				for(int k=0;k<cols.length;k+=2){
					if(!cols[k].equalsIgnoreCase("id")){
						c.append(cols[k]+",");
						if(cols[k+1].contains("Integer"))
							vc.append(rs.getInt(cols[k])+",");
						if(cols[k+1].contains("String")
								||cols[k+1].contains("Timestamp"))
							vc.append("'"+rs.getString(cols[k])+"'"+",");
					}
				}
				c.deleteCharAt(c.length()-1);
				vc.deleteCharAt(vc.length()-1);
				sql="insert into "+tname+"("+new String(c)+")values("+new String(vc)+")";
			}	
		}catch(Exception e){
			e.printStackTrace();
		}
		return sql;
	}
	
	public void displayFinal(String tablename){
		dao.setConstr("jdbc:hsqldb:file:finaldb\\final");
		dao.openConnection();
		String sql="select *  from "+tablename;
		ResultSet rs=dao.executeQuery(sql);
		try{
			while(rs.next()){
				/*System.out.println(rs.getString("id")+"\t"
						+rs.getString("password"));*/
				System.out.println(rs.getString("id")+"\t"
						+rs.getString("userid")+"\t"
						+rs.getString("options")+"\t"
						+rs.getInt("score")+"\t"
						+rs.getString("date"));
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		dao.closeConnection();
	}
	
	public void addTestdata(){
		if(this.dbs==null)return;
		for(int i=0;i<dbs.length;i++){
			dao.setConstr("jdbc:hsqldb:file:"+dbs[i]);
			dao.openConnection();
			for(int j=0;j<10;j++){
				String sql="insert into userans(userid,options,score,date,testtype) "+
					"values('"+j+"','12214321',"+25+",'2009-05-11 03:58:42','fs')";
				dao.executeUpdate(sql); 
			}
			dao.closeConnection();
		}
	}
	
	public void disPtestdata(){
		if(this.dbs==null)return;
		for(int i=0;i<dbs.length;i++){
			dao.setConstr("jdbc:hsqldb:file:"+dbs[i]);
			dao.openConnection();
			String sql="select * from userans";
			ResultSet rs=dao.executeQuery(sql);
			try{
				while(rs.next()){
					System.out.println(rs.getString("id")+"\t"
							+rs.getString("userid")+"\t"
							+rs.getString("options")+"\t"
							+rs.getInt("score")+"\t"
							+rs.getString("date")+"\t"
							+rs.getString("testtype"));
				}
			}catch(Exception e){
				e.printStackTrace();
			}
			dao.closeConnection();
		}
	}
	
	public static void main(String[] args){
		Merge a=new Merge();
		a.mergeData();
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合久久久久中文| 亚洲精品中文在线| 国产午夜精品久久久久久免费视| 亚洲欧美aⅴ...| 成人av资源在线观看| 精品国产一区二区国模嫣然| 无码av免费一区二区三区试看| 91久久线看在观草草青青| 亚洲视频在线一区二区| 91视频精品在这里| 亚洲日穴在线视频| 久久久综合激的五月天| 成人激情av网| 国产美女视频91| 精品国产自在久精品国产| 色婷婷亚洲精品| 成人动漫一区二区| 国产一区在线观看视频| 免费看欧美女人艹b| 久久嫩草精品久久久精品一| 欧美日韩电影在线| 久久国产精品一区二区| 国产日产欧美一区二区视频| 成人免费观看av| 依依成人综合视频| 中文字幕在线视频一区| 秋霞av亚洲一区二区三| 亚洲第一成人在线| 欧美第一区第二区| 国产精品亚洲专一区二区三区| 国产精品成人免费| 国产精品色一区二区三区| 欧美揉bbbbb揉bbbbb| 美国毛片一区二区| 国产精品久久久久久久久搜平片| 国产午夜精品一区二区三区嫩草| 精品av久久707| 精品久久99ma| 色综合av在线| 色综合久久久久| 91猫先生在线| 欧美日韩一区二区三区视频| 欧美午夜一区二区| 国产69精品久久久久777| 亚洲成人免费看| 亚洲成人动漫一区| 日本成人中文字幕| 亚洲免费资源在线播放| 亚洲乱码国产乱码精品精的特点| 亚洲欧美日韩中文播放| 亚洲线精品一区二区三区| 国产精品三级久久久久三级| 国产精品久久午夜| 亚洲精品免费在线播放| 天天操天天干天天综合网| 日本欧美一区二区三区| 国产在线一区观看| 天堂久久一区二区三区| 亚洲免费观看高清完整版在线观看 | 国产精品一区二区在线观看网站| 国产精品一区免费在线观看| 成人国产在线观看| 欧美在线不卡一区| 大陆成人av片| 色悠悠久久综合| 欧美二区三区91| 色菇凉天天综合网| 欧美日韩国产中文| 久久综合给合久久狠狠狠97色69| 欧美一区二区三区啪啪| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美三级资源在线| 欧美一级夜夜爽| 中文在线一区二区 | 欧美高清在线精品一区| 一区二区三区**美女毛片| 国产精品久久久久久久久搜平片| 亚洲靠逼com| 欧美aa在线视频| 成人丝袜视频网| 欧美日本精品一区二区三区| 国产亚洲一区二区三区在线观看| 亚洲欧美激情小说另类| 日本在线不卡视频| av成人动漫在线观看| 99免费精品在线观看| 欧美一级理论片| 欧美一区二区国产| 中文字幕一区二区三中文字幕| 日本不卡一区二区| 99精品偷自拍| 91亚洲精华国产精华精华液| 欧美va亚洲va在线观看蝴蝶网| 国产精品国产三级国产普通话蜜臀 | 欧美日韩在线综合| 久久久综合精品| 日韩精品成人一区二区三区| eeuss鲁一区二区三区| 精品国产sm最大网站免费看| 亚洲综合视频网| 日韩av一区二区三区四区| 色婷婷综合久久久中文字幕| 国产亚洲女人久久久久毛片| 天天综合色天天综合色h| 色综合天天综合给合国产| 99久久免费视频.com| 欧美zozozo| 日韩精品视频网| 欧美午夜精品久久久久久超碰| 国产精品剧情在线亚洲| 国产精品一区二区三区99 | 一区二区三区蜜桃| 成人永久aaa| wwwwww.欧美系列| 日本欧美久久久久免费播放网| 在线国产电影不卡| 亚洲激情av在线| 成人sese在线| 国产精品久久久久9999吃药| 国产在线精品视频| 欧美日韩一区在线| 一区二区三区中文字幕在线观看| av一二三不卡影片| 亚洲国产精品国自产拍av| 国产一区二区调教| 久久天天做天天爱综合色| 九九九久久久精品| 国产精品88888| 久久免费看少妇高潮| 国产精品一区专区| 国产日韩精品久久久| 国产69精品一区二区亚洲孕妇 | 香蕉加勒比综合久久| 91成人网在线| 亚洲福利一区二区| 欧美日韩国产另类一区| 午夜电影网一区| 69堂国产成人免费视频| 国产精品网站导航| 成人午夜免费av| 国产精品欧美综合在线| 99热这里都是精品| 亚洲一二三四久久| 欧美喷水一区二区| 久久99久久99小草精品免视看| 精品国产免费视频| 国产成人综合在线| 日韩一区二区三区视频| 国精产品一区一区三区mba视频| 久久久99免费| 99久久国产免费看| 午夜免费久久看| 日韩视频在线你懂得| 国产一区二区三区在线观看精品| 久久蜜桃一区二区| 99久久精品国产毛片| 亚洲一区二区五区| 日韩精品一区二区三区中文不卡| 国内成人免费视频| 亚洲免费资源在线播放| 欧美一区二区三区在线看| 国产精品一区专区| 亚洲欧美一区二区不卡| 91精品国产综合久久久蜜臀粉嫩| 黑人巨大精品欧美一区| 国产精品美女视频| 欧美日韩国产精品自在自线| 国产综合久久久久久久久久久久| 国产精品久久久久久久久果冻传媒| 欧美亚洲高清一区二区三区不卡| 麻豆久久一区二区| 亚洲人成影院在线观看| 欧美一区二区三区在线| 成人一区在线观看| 天使萌一区二区三区免费观看| 久久久久久**毛片大全| 色久优优欧美色久优优| 久久97超碰色| 亚洲精品视频在线观看免费| 精品久久国产97色综合| 91黄色激情网站| 激情文学综合插| 一区二区三区在线免费播放| 久久女同互慰一区二区三区| 欧美无砖专区一中文字| 国产91色综合久久免费分享| 亚洲成人自拍偷拍| 亚洲国产精品t66y| 欧美妇女性影城| 99re在线精品| 国产一区二区三区四区五区入口 | 99久久综合国产精品| 麻豆国产91在线播放| 亚洲色图欧美激情| 久久综合一区二区| 欧美日韩免费观看一区二区三区 | 91在线视频观看| 国产一区三区三区| 日韩成人伦理电影在线观看| 亚洲三级在线播放|