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[];
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[].length() != 18 && str[].length() != 15) {
System.out.println("号码位数有误(身份证号18位,准考证号15位),请重新进入系统输入");
} else {
st.execute("insert into examstudent values(fiowid.nextval,to_number(" + str[] + "),'" + str[1]
+ "','" + str[2] + "','" + str[3] + "','" + str[4] + "'," + "to_number(" + str[]
+ "))");
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的更多相关文章

  1. dos命令行连接操作ORACLE数据库

    C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库 SQL> select status from v$instance; ...

  2. Python使用cx_Oracle模块连接操作Oracle数据库

    1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...

  3. 实例: Java代码操作oracle数据库(JDBC+sevrlet+jsp+html)

    1, 注册页面 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.or ...

  4. Java 数据库操作oracle增删改查,通用封装基于hashmap

    pt1:首先安装oracle连接驱动 下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A  密码:epkz 1.将ojdbc6.jar导入项目中 ...

  5. java连接操作数据库

    Connection 类prepareStatement(String sql) 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库. PreparedState ...

  6. Redis Java连接操作

    安装 要在Java程序中使用使用操作Redis,需要确保有Redis的Java驱动程序和Java设置在机器上.可以检查看Java教程-学习如何在机器上安装Java.现在,让我们来看看如何设置Redis ...

  7. 【JDBC】java PreparedStatement操作oracle数据库

    ************************************************************************ ****原文:blog.csdn.net/clark_ ...

  8. Java 连接操作 Redis 出现错误

    Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.n ...

  9. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

随机推荐

  1. Swift基础--定位

    // // ViewController.swift // JieCoreLocation // // Created by jiezhang on 14-10-4. // Copyright (c) ...

  2. (三 )kafka-jstorm集群实时日志分析 之 ---------jstorm集成spring 续(代码)

    本地模式启动的. package com.doctor.kafkajstrom; import java.util.HashMap; import java.util.Map; import java ...

  3. React-Native系列Android——Native与Javascript通信原理(一)

    React-Native最核心的是Native与Javascript之间的通信,并且是双向通信.Native层到Javascript层,Javascript层到Native层.虽说是两个方向,但实现上 ...

  4. Android ImageView 不显示JPEG图片 及 Android Studio中怎样引用图片资源

    Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里须要设置成setVisibility(View.VISIB ...

  5. window如何在命令行关掉端口

    欢迎加入前端交流群来py:749539640   进入cmd netstat -ano | findstr :yourPortNumber taskkill /PID typeyourPIDhere ...

  6. Redis-3-string类型

    Redis-3-string类型 标签(空格分隔): redis set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] mset key value key valu ...

  7. 【原创】JMS生产者和消费者【PTP同步接收消息】

    一般步骤: 请求一个JMS连接工i厂. 是用连接工厂创建连接. 启动JMS连接. 通过连接创建session. 获取一个目标. 创建一个生产者,或a.创建一个生产者,b.创建一条JMS消息并发送到目标 ...

  8. HDU 5234 Happy birthday【DP】

    题意:给出n*m的格子,每个格子的值为w[i][j],在值不超过k的时候,可以往右或者往下走,问从(1,1)走到(n,m)能够得到的最大的值 类似于背包 d[i][j][k]=maxx(d[i-1][ ...

  9. python的数据类型转换

    #编码:#py3中只有2种数据类型:str , bytes# str: unicode形式# bytes: 16进制 (更底层) 有utf8,gbk,gb2312 等等类型 #s='hi 范' # 编 ...

  10. 关联对象 AssociatedObject 完全解析

    我们在 iOS 开发中经常需要使用分类(Category),为已经存在的类添加属性的需求,但是使用 @property 并不能在分类中正确创建实例变量和存取方法. 不过,通过 Objective-C ...