import java.io.*;
import java.sql.*;
import java.net.URL;
public class java2oracle{
public static boolean checkForWarning(SQLWarning warn) throws SQLException{
boolean rc=false;
if(warn!=null){
System.out.println("\n***Warning***\n");
rc=true;
while(warn!=null){
System.out.println("SQLState:"+warn.getSQLState());
System.out.println("Message:"+warn.getMessage());
System.out.println("Vendor:"+warn.getErrorCode());
warn=warn.getNextWarning();
}
}
return rc;
}
public static void dispResultSet(ResultSet rs) throws SQLException{
int i;
ResultSetMetaData rsmd=rs.getMetaData();
int numCols=rsmd.getColumnCount();
for(i=1;i<=numCols;i++){
if(i>1) System.out.print(", ");
System.out.print(rsmd.getColumnLabel(i));
}
System.out.println("");
boolean more=rs.next();
while(more){
for(i=1;i<=numCols;i++ ){
if(i>1) System.out.print(", ");
System.out.print(rs.getString(i));
}
System.out.println("");
more=rs.next();
}
}
/**
* @param args
*/
public static void main(String args[]) throws IOException{
// TODO 自动生成方法存根
String sUsr="system";
String sPwd="asdfgh";
while(true){
try{
System.out.print("SQL > ");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
if(str.equalsIgnoreCase("end")) break;
if(str.equalsIgnoreCase("exit")) break;
if(str.equalsIgnoreCase("quit")) break;
if(str.endsWith(";")) str=str.substring(0,str.length()-1);
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","asdfgh");
checkForWarning(con.getWarnings());
Statement stmt=con.createStatement();
if(str.toLowerCase().startsWith("select")){
ResultSet rs=stmt.executeQuery(str);
dispResultSet(rs);
rs.close();
}
else stmt.executeUpdate(str);
stmt.close();
con.close();
}
catch(SQLException ex){
System.out.println("\n***SQLException caught***\n");
while(ex!=null){
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("Message:"+ex.getMessage());
System.out.println("Vendor:"+ex.getErrorCode());
ex=ex.getNextException();
System.out.println("");
}
}
catch(java.lang.Exception ex){
ex.printStackTrace();
}
}
}
}
![avatar](https://profile-avatar.csdnimg.cn/271c0f59ce4e427783f4849fb0aeba2e_weixin_42662171.jpg!1)
林当时
- 粉丝: 114
- 资源: 1万+
最新资源
- jiayoubiancheng-单片机开发资源
- 永磁同步电机二阶线性与非线性自抗扰控制器(ADRC)的Matlab与Simulink建模及三阶观测器研究,永磁同步电机二阶线性与非线性自抗扰控制器(ADRC)的Matlab与Simulink模型及三阶
- vue-element-plus-admin-Typescript资源
- 直流微电网储能单元SOC均衡控制策略:基于分段下垂控制与母线电压补偿的动态调节,直流微电网储能单元SOC均衡分段控制策略:实现不同容量蓄电池快速均衡与母线电压稳定维护,直流微电网储能单元的soc均衡控
- 双馈风电机组并网仿真建模:四机九节点系统中的虚拟惯量与下垂控制技术,超速减载与桨距角控制调频策略研究,结合风储联合调频及低电压穿越故障的Matlab Simulink应用 ,双馈风电机组并网仿真建模:
- SunnyUI-C#资源
- Abaqus蠕变裂纹模拟:子程序开发与案例分析,Abaqus蠕变裂纹模拟与子程序应用案例解析,abaqus蠕变裂纹等子程序或者案例 ,Abaqus; 蠕变; 裂纹; 等子程序; 案例,Abaqus蠕
- Pem电解槽等温阳极单侧流道模型参数化建模:水电解槽与自由多孔介质流模块耦合研究,Pem电解槽等温阳极单侧流道模型参数化建模研究:水电解槽与多孔介质流模块耦合探究,Pem电解槽等温阳极单侧流道模型,水
- PbootCMS-PHP资源
- iPicker-JavaScript资源
- 数据库SQL实战-SQL资源
- ncre2c-计算机二级资源
- go-easyjapanese-毕业设计资源
- “粉床数值模拟:SLM增材制造选区激光熔化全过程解析及Flow3D软件实操教程”,“粉床数值模拟:SLM增材制造选区激光熔化技术详解与Flow3D软件操作指南”,slm 增材制造选区激光熔化SLM的
- stm32小项目-电赛资源
- 基于Comsol模拟分析的多极子分解方法研究,利用Comsol软件进行多极子分解技术,comsol分解多极子 ,comsol; 多极子分解; 数值计算; 电磁模拟,COMSOL多极子分解技术
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)