你的位置:首页 > 数据库

[数据库]java连接操作Oracle

 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 }

开始运行:

信息输入:                                                                                                身份证号查询:

                                        

准考证号查询:                                                                                               信息删除:

                                                             

输入错误信息: