合并题库中所有的试题

来源:互联网 发布:js生成的中文乱码 编辑:程序博客网 时间:2024/05/02 12:10
package newexam;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JOptionPane;/** * @author  该类将把考试题库的所有题目汇总,结果放到第一套题中 */public class CollectAll {static String fileName = "d:/cf/015山东轻工业学院_XP_13考场.crp";static int NUM = 10;static Connection con = null;// 类静态方法,完成对数据库连接等初始化工作static {if (fileName.endsWith(".crp")) {File srcFile = new File(fileName);String newfile = fileName + ".mdb";JOptionPane.showMessageDialog(null, fileName+ "不是Access文件,系统将自动解密,解密后的文件名为:" + newfile);File desFile = new File(newfile);try {BufferedInputStream in = new BufferedInputStream(new FileInputStream(srcFile));BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(desFile));int ch;while ((ch = in.read()) != -1) {ch ^= 9;out.write(ch);}in.close();out.close();fileName = newfile;} catch (FileNotFoundException e) {System.out.println("找不到文件!");e.printStackTrace();} catch (IOException e) {System.out.println("文件操作失败!");e.printStackTrace();}}try {Class.forName("com.hxtt.sql.access.AccessDriver");String url = "jdbc:access:///" + fileName;con = DriverManager.getConnection(url);} catch (ClassNotFoundException e) {System.out.println("ACCESS_JDBC加载失败");e.printStackTrace();} catch (SQLException e) {System.out.println("数据库连接或创建语句失败");e.printStackTrace();}}/** * 以第一套题为模板,将其他的题汇总进来 */public static void allInOne() throws Exception {int opt = JOptionPane.showConfirmDialog(null,"数据将汇总在第一套题中,汇总前请先备份该数据库,开始汇总吗?", "数据汇总",JOptionPane.YES_NO_OPTION);if (opt == JOptionPane.NO_OPTION)return;Statement stat = con.createStatement();String sql;// 从第二套开始,所有内容汇总到第一套题中for (int i = 2; i <= NUM; i++) {System.out.println("正在汇总 Judge" + i + "到Judge1");sql = "INSERT INTO Judge1 SELECT * FROM Judge" + i;stat.execute(sql);System.out.println("正在汇总MultiSelect" + i + "到MultiSelect1");sql = "INSERT INTO MultiSelect1 SELECT * FROM MultiSelect" + i;stat.execute(sql);System.out.println("正在汇总SingleSelect" + i + "到SingleSelect1");sql = "INSERT INTO SingleSelect1 SELECT * FROM SingleSelect" + i;stat.execute(sql);System.out.println("正在汇总WindowsOperation" + i+ "到WindowsOperation1");sql = "INSERT INTO WindowsOperation1 SELECT * FROM WindowsOperation"+ i;stat.execute(sql);System.out.println("正在汇总ExcelFile" + i + "到ExcelFile1");sql = "INSERT INTO ExcelFile1 SELECT * FROM ExcelFile" + i;stat.execute(sql);System.out.println("正在汇总ExcelOperation" + i + "到ExcelOperation1");sql = "INSERT INTO ExcelOperation1 SELECT * FROM ExcelOperation"+ i;stat.execute(sql);System.out.println("正在汇总WordFile" + i + "到WordFile1");sql = "INSERT INTO WordFile1 SELECT * FROM WordFile" + i;stat.execute(sql);System.out.println("正在汇总WordOperation" + i + "到WordOperation1");sql = "INSERT INTO WordOperation1 SELECT * FROM WordOperation" + i;stat.execute(sql);System.out.println("正在汇总PowerPointFile" + i + "到PowerPointFile1");sql = "INSERT INTO PowerPointFile1 SELECT * FROM PowerPointFile"+ i;stat.execute(sql);System.out.println("正在汇总PowerPointOperation" + i+ "到PowerPointOperation1");sql = "INSERT INTO PowerPointOperation1 SELECT * FROM PowerPointOperation"+ i;stat.execute(sql);System.out.println("正在汇总FrontPageFile" + i + "到FrontPageFile1");sql = "INSERT INTO FrontPageFile1 SELECT * FROM FrontPageFile" + i;stat.execute(sql);System.out.println("正在汇总FrontPageOperation" + i+ "到FrontPageOperation1");sql = "INSERT INTO FrontPageOperation1 SELECT * FROM FrontPageOperation"+ i;stat.execute(sql);}System.out.println("汇总成功,请检查表!");}/** * 删除汇总数据库中所有表,只保留汇总表,汇总数据在第一套题中 */public static void deleteAll() throws Exception {int opt = JOptionPane.showConfirmDialog(null, "删除表之前,请先确认已经汇总.确认删除吗?","删除数据表", JOptionPane.YES_NO_OPTION);if (opt == JOptionPane.NO_OPTION)return;Statement stat = con.createStatement();String sql = "";// 删除所有表int m;for (m = 2; m <= NUM; m++) {sql = "drop table PowerPointFile" + m;stat.execute(sql);sql = "drop table powerpointOperation" + m;stat.execute(sql);sql = "drop table WordFile" + m;stat.execute(sql);sql = "drop table WordOperation" + m;stat.execute(sql);sql = "drop table ExcelFile" + m;stat.execute(sql);sql = "drop table ExcelOperation" + m;stat.execute(sql);sql = "drop table FrontPageFile" + m;stat.execute(sql);sql = "drop table FrontPageOperation" + m;stat.execute(sql);sql = "drop table WindowsOperation" + m;stat.execute(sql);sql = "drop table Blanks" + m;stat.execute(sql);sql = "drop table SingleSelect" + m;stat.execute(sql);sql = "drop table MultiSelect" + m;stat.execute(sql);sql = "drop table Judge" + m;stat.execute(sql);}stat.close();System.out.println("删除成功,请检查!");}public static void main(String args[]) throws Exception {allInOne();deleteAll();}}


原创粉丝点击