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[];
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的更多相关文章
- dos命令行连接操作ORACLE数据库
C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库 SQL> select status from v$instance; ...
- Python使用cx_Oracle模块连接操作Oracle数据库
1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...
- 实例: Java代码操作oracle数据库(JDBC+sevrlet+jsp+html)
1, 注册页面 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.or ...
- Java 数据库操作oracle增删改查,通用封装基于hashmap
pt1:首先安装oracle连接驱动 下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A 密码:epkz 1.将ojdbc6.jar导入项目中 ...
- java连接操作数据库
Connection 类prepareStatement(String sql) 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库. PreparedState ...
- Redis Java连接操作
安装 要在Java程序中使用使用操作Redis,需要确保有Redis的Java驱动程序和Java设置在机器上.可以检查看Java教程-学习如何在机器上安装Java.现在,让我们来看看如何设置Redis ...
- 【JDBC】java PreparedStatement操作oracle数据库
************************************************************************ ****原文:blog.csdn.net/clark_ ...
- Java 连接操作 Redis 出现错误
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.n ...
- Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数
1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...
随机推荐
- SQL编码中注意的性能问题
1.选择合适的数据类型 为列选择最小化的数据类型 假设一列中的文本长度不一,使用VARCHAR而不是CHAR 不存储Unicode不要使用NVARCHAR或者NCHAR 假设一行的长度不超过8000, ...
- mysql数据库连接工具类C3P0
package com.dl.network_flow.db; import java.sql.Connection; import java.sql.PreparedStatement; impor ...
- iOS开发- 生成/解析.vcf文件
vcf, 通讯录导出的一种格式. 一.生成vcf文件 假设要把我们iPhone通讯录里的数据, 生成vcf格式文件. 我们能够借助iCloud. 小技巧:通过iCloud导出iPhone通讯录的方法 ...
- GitHub客户端和Shell的基本操作和理解
GitHub客户端和Shell指令的简单实用 客户端操作, web端操作, shell指令操作. 掌握了这三种操作,基本上就可以很好的运用gitHub了. 创建项目, 可以通过web端进行创建. 可以 ...
- CoreData 从入门到精通(四)并发操作
通常情况下,CoreData 的增删改查操作都在主线程上执行,那么对数据库的操作就会影响到 UI 操作,这在操作的数据量比较小的时候,执行的速度很快,我们也不会察觉到对 UI 的影响,但是当数据量特别 ...
- 正睿NOIP赠送附加赛1
T1:math 题目链接: http://zhengruioi.com/contest/156/problem/471 题解: 先讲讲我的乱搞做法.对于前面70%,我跑了背包.因为背包有后效性...我 ...
- 使用TensorBoard可视化工具
title: 使用TensorBoard可视化工具 date: 2018-04-01 13:04:00 categories: deep learning tags: TensorFlow Tenso ...
- JS异步操作之promise发送短信验证码.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta cont ...
- 优动漫PAINT-紫藤花画法
本教程分享一篇使用优动漫PAINT绘制一树梦幻的紫藤萝花教程,原文转载自优动漫官网. 小清新紫藤萝教程,就到这里啦!有兴趣的可以尝试画一画哦,软件下载:www.dongmansoft.com/xiaz ...
- 手把手教你如何新建scrapy爬虫框架的第一个项目(上)
前几天给大家分享了如何在Windows下创建网络爬虫虚拟环境及如何安装Scrapy,还有Scrapy安装过程中常见的问题总结及其对应的解决方法,感兴趣的小伙伴可以戳链接进去查看.关于Scrapy的介绍 ...