Java连接操作Oracle数据库代码详解

废话不多说了,直接给大家贴关键代码了,具体代码如下所示:

package com.sp.test;

import java.sql.*;

import java.util.*;

public class Text_lianxi extends Thread {

public void run() {

try {

yunxing();

Thread.sleep(10000);

} catch (InterruptedException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

//输入函数

public String[] shuru() {

System.out.println("请按顺序依次输入考生的详细信息:\n考试等级,身份证号,准考证号,考生姓名,考试地点,考试成绩");

Scanner sc = new Scanner(System.in);

String[] str = new String[6];

for (int i = 0; i < str.length; i++) {

str[i] = sc.nextLine();

}

System.out.println("信息输入完毕");

sc.close();

return str;

}

//查询函数

public String chaxun() {

System.out.println("请选择查询方式:\n a:身份证号 b:准考证号");

Scanner sc = new Scanner(System.in);

String s = sc.nextLine().toLowerCase();

String str = "";

if (s.equals("a")) {

System.out.println("请输入查询号码:");

String st = sc.nextLine();

if (st.length() == 18) {

str = "select * from examstudent where idcard = " + st;

} else {

System.out.println("身份证位数输入有误");

}

} else if (s.equals("b")) {

System.out.println("请输入查询号码:");

String st = sc.nextLine();

if (st.length() == 15) {

str = "select * from examstudent where examcard = " + st;

} else {

System.out.println("准考证位数输入有误");

}

} else {

System.out.println("你输入的查询方式有误,请重新进入程序");

}

sc.close();

return str;

}

//删除函数

public String shanchu() {

Scanner sc = new Scanner(System.in);

System.out.println("请输入考生的准考证号:");

String str = sc.nextLine();

if (str.length() != 15) {

System.out.println("准考证号输入有误,请重新输入");

}

sc.close();

return str;

}

//运行

public void yunxing() {

synchronized ("") {

try {

Connection conn = null;

// 链接数据库

Class.forName("oracle.jdbc.driver.OracleDriver");

String strURL = "jdbc:oracle:thin:@localhost:1521:SP";

conn = DriverManager.getConnection(strURL, "test", "123");

System.out.println(Thread.currentThread().getName()+"数据库连接成功");

Statement st = conn.createStatement();

// 选择功能

Scanner sc = new Scanner(System.in);

System.out.println("请选择功能:\n 1:输入信息 2:查询信息 3:删除信息");

int num = sc.nextInt();

if (num == 1) {

// 输入信息

String[] str = shuru();

if (str[1].length() != 18 && str[2].length() != 15) {

System.out.println("号码位数有误(身份证号18位,准考证号15位),请重新进入系统输入");

} else {

st.execute("insert into examstudent values(fiowid.nextval,to_number(" + str[0] + "),'" + str[1]

+ "','" + str[2] + "','" + str[3] + "','" + str[4] + "'," + "to_number(" + str[5]

+ "))");

System.out.println("信息录入成功");

}

} else if (num == 2) {

// 查询

String str1 = chaxun();

ResultSet r = st.executeQuery(str1);

// 输出查询结果

if (r.next()) {

System.out.println("考试等级:" + r.getString(2) + "\n身份证号:" + r.getString(3) + "\n准考证号:"

+ r.getString(4) + "\n考生姓名:" + r.getString(5) + "\n考试地区:" + r.getString(6) + "\n考试成绩:"

+ r.getString(7));

} else {

System.out.println("查无此人,请重新进入系统");

}

r.close();

} else if (num == 3) {

// 删除

String str2 = shanchu();

int a = st.executeUpdate("delete examstudent where examcard = " + str2);

if (a > 0) {

System.out.println("删除成功");

} else {

System.out.println("查无此人,请重新进入程序");

}

} else {

System.out.println("抱歉,暂未开放此功能");

}

sc.close();

st.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

Text_lianxi lx1 = new Text_lianxi();

// Text_lianxi lx2 = new Text_lianxi();

// Text_lianxi lx3 = new Text_lianxi();

lx1.setName("窗口1");

lx1.start();

// lx2.setName("窗口2");

// lx2.start();

// lx3.setName("窗口3");

// lx3.start();

}

}

开始运行:

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

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

输入错误信息:

以上所述是小编给大家介绍的Java连接操作Oracle数据库代码详解的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是 Java连接操作Oracle数据库代码详解 的全部内容, 来源链接: utcz.com/p/209556.html

回到顶部