開始運行: 信息輸入: 身份證號查詢: 准考證號查詢: 信息刪除: 輸入錯誤信息: ...
1 package com.sp.test; 2 3 import java.sql.*; 4 import java.util.*; 5 6 public class Text_lianxi extends Thread { 7 public void run() { 8 try { 9 yunxing(); 10 Thread.sleep(10000); 11 } catch (InterruptedException e) { 12 // TODO 自動生成的 catch 塊 13 e.printStackTrace(); 14 } 15 16 } 17 //輸入函數 18 public String[] shuru() { 19 System.out.println("請按順序依次輸入考生的詳細信息:\n考試等級,身份證號,准考證號,考生姓名,考試地點,考試成績"); 20 Scanner sc = new Scanner(System.in); 21 String[] str = new String[6]; 22 for (int i = 0; i < str.length; i++) { 23 str[i] = sc.nextLine(); 24 } 25 System.out.println("信息輸入完畢"); 26 sc.close(); 27 return str; 28 } 29 //查詢函數 30 public String chaxun() { 31 System.out.println("請選擇查詢方式:\n a:身份證號 b:准考證號"); 32 Scanner sc = new Scanner(System.in); 33 String s = sc.nextLine().toLowerCase(); 34 String str = ""; 35 if (s.equals("a")) { 36 System.out.println("請輸入查詢號碼:"); 37 String st = sc.nextLine(); 38 if (st.length() == 18) { 39 str = "select * from examstudent where idcard = " + st; 40 } else { 41 System.out.println("身份證位數輸入有誤"); 42 } 43 } else if (s.equals("b")) { 44 System.out.println("請輸入查詢號碼:"); 45 String st = sc.nextLine(); 46 if (st.length() == 15) { 47 str = "select * from examstudent where examcard = " + st; 48 } else { 49 System.out.println("准考證位數輸入有誤"); 50 } 51 } else { 52 System.out.println("你輸入的查詢方式有誤,請重新進入程式"); 53 } 54 sc.close(); 55 return str; 56 } 57 //刪除函數 58 public String shanchu() { 59 Scanner sc = new Scanner(System.in); 60 System.out.println("請輸入考生的准考證號:"); 61 String str = sc.nextLine(); 62 if (str.length() != 15) { 63 System.out.println("准考證號輸入有誤,請重新輸入"); 64 } 65 sc.close(); 66 return str; 67 } 68 //運行 69 public void yunxing() { 70 synchronized ("") { 71 try { 72 Connection conn = null; 73 // 鏈接資料庫 74 Class.forName("oracle.jdbc.driver.OracleDriver"); 75 String strURL = "jdbc:oracle:thin:@localhost:1521:SP"; 76 conn = DriverManager.getConnection(strURL, "test", "123"); 77 System.out.println(Thread.currentThread().getName()+"資料庫連接成功"); 78 Statement st = conn.createStatement(); 79 // 選擇功能 80 Scanner sc = new Scanner(System.in); 81 System.out.println("請選擇功能:\n 1:輸入信息 2:查詢信息 3:刪除信息"); 82 int num = sc.nextInt(); 83 if (num == 1) { 84 // 輸入信息 85 String[] str = shuru(); 86 if (str[1].length() != 18 && str[2].length() != 15) { 87 System.out.println("號碼位數有誤(身份證號18位,准考證號15位),請重新進入系統輸入"); 88 } else { 89 st.execute("insert into examstudent values(fiowid.nextval,to_number(" + str[0] + "),'" + str[1] 90 + "','" + str[2] + "','" + str[3] + "','" + str[4] + "'," + "to_number(" + str[5] 91 + "))"); 92 System.out.println("信息錄入成功"); 93 } 94 } else if (num == 2) { 95 // 查詢 96 String str1 = chaxun(); 97 ResultSet r = st.executeQuery(str1); 98 // 輸出查詢結果 99 if (r.next()) { 100 System.out.println("考試等級:" + r.getString(2) + "\n身份證號:" + r.getString(3) + "\n准考證號:" 101 + r.getString(4) + "\n考生姓名:" + r.getString(5) + "\n考試地區:" + r.getString(6) + "\n考試成績:" 102 + r.getString(7)); 103 } else { 104 System.out.println("查無此人,請重新進入系統"); 105 } 106 r.close(); 107 } else if (num == 3) { 108 // 刪除 109 String str2 = shanchu(); 110 int a = st.executeUpdate("delete examstudent where examcard = " + str2); 111 if (a > 0) { 112 System.out.println("刪除成功"); 113 } else { 114 System.out.println("查無此人,請重新進入程式"); 115 } 116 } else { 117 System.out.println("抱歉,暫未開放此功能"); 118 } 119 sc.close(); 120 st.close(); 121 } catch (Exception e) { 122 e.printStackTrace(); 123 } 124 } 125 } 126 127 public static void main(String[] args) { 128 129 Text_lianxi lx1 = new Text_lianxi(); 130 // Text_lianxi lx2 = new Text_lianxi(); 131 // Text_lianxi lx3 = new Text_lianxi(); 132 133 lx1.setName("視窗1"); 134 lx1.start(); 135 // lx2.setName("視窗2"); 136 // lx2.start(); 137 // lx3.setName("視窗3"); 138 // lx3.start(); 139 140 } 141 142 }
開始運行:
信息輸入: 身份證號查詢:
准考證號查詢: 信息刪除:
輸入錯誤信息: