DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Connection conn = null; conn = DriverManager.getConnection(url, user, password);
1)简单语句
String sql = "SELECT * FROM *****";
2)存储过程
String sql = "{call Procedure_name(?,?,?)}"
注:若有参数,需要使用“?”占位符
3)函数语句
String sql= "SELECT MAX(COL_NAME) FROM T_NAME"
同简单语句的使用。注:这里可以为使用函数的列起个名字,在sql语句中可以直接跟在函数后面。不用加引号,所以也不会引起符号冲突。 如:
String sql= "SELECT MAX(COL_NAME) 最大结果 FROM T_NAME"
1)有返回结果的操作
ResultSet res = null; Statement stat = null; res = stat.executeQuery(sql);
Statement stat = null; int i = stat.executeUpdate(sql);
1)查询语句的结果
ResultSet返回的是类似数据库中的表。对表中数据分析即可
2)执行非查询语句返回的结果
executeUpdate()方法返回的结果是个int类型的,返回执行结果受影响的条数。
上述步骤连接Oracle10g数据库不会出现问题。如果是连接Oracle11g就会出现问题。
错误信息:Unhandled exception type SQLException
问题原因就是Oracle11g软件更新了连接方法。url 中在Oracle 10g中是localhost,11g 中本地连接要用计算机名称。
Oracle 10 g URL代码(本地):
jdbc:oracle:thin:@localhost:1521:oracle_name
Oracle 11g URL代码(本地):
jdbc:oracle:thin:@pc_name:1521:oracle_name
如果通过ip连接的话,pc_name换成ip就行拉。
附:查询oracle_name
安装Oracle的过程会出现让我们自定义数据库的名称,我就是忘了名字啦。当初有种想重装的冲动啊。。不过还好,能在安装目录下查到。省大事儿啦。所以说嘛,以后安装软件的时候,尤其是数据库有名字的话一定要记住。
以Oracle11g为例:
product --> 11.22.0 --> dbhome_1 --> NETWORK --> ADMIN --> tnsnames.ora