import java.sql.*;public class TestCall {
public static void main(String[] args) {
Connection conn = null;
CallableStatement csmt = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.66.160:1521:XE", "system", "tigger");
csmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
csmt.registerOutParameter(3, Types.INTEGER);
csmt.registerOutParameter(4, Types.INTEGER);
csmt.setInt(1, 3);
csmt.setInt(2, 4);
csmt.setInt(4, 5);
System.out.println(csmt.getInt(3));//第二十行
System.out.println(csmt.getInt(4));
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(csmt != null) {
csmt.close();
csmt = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Exception in thread "main" java.lang.NullPointerException
at oracle.jdbc.driver.OracleCallableStatement.getInt(OracleCallableStatement.java:1026)
at TestCall.main(TestCall.java:20)
存储过程:create or replace procedure p
(v_a in number, v_b number, v_ret out number, v_temp in out number)
is
begin
if (v_a > v_b) then
v_ret := v_a;
else
v_ret := v_b;
end if;
v_temp := v_temp + 1;
end;
public static void main(String[] args) {
Connection conn = null;
CallableStatement csmt = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.66.160:1521:XE", "system", "tigger");
csmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
csmt.registerOutParameter(3, Types.INTEGER);
csmt.registerOutParameter(4, Types.INTEGER);
csmt.setInt(1, 3);
csmt.setInt(2, 4);
csmt.setInt(4, 5);
System.out.println(csmt.getInt(3));//第二十行
System.out.println(csmt.getInt(4));
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(csmt != null) {
csmt.close();
csmt = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Exception in thread "main" java.lang.NullPointerException
at oracle.jdbc.driver.OracleCallableStatement.getInt(OracleCallableStatement.java:1026)
at TestCall.main(TestCall.java:20)
存储过程:create or replace procedure p
(v_a in number, v_b number, v_ret out number, v_temp in out number)
is
begin
if (v_a > v_b) then
v_ret := v_a;
else
v_ret := v_b;
end if;
v_temp := v_temp + 1;
end;
解决方案 »
- 求sql语句?
- 请问:oracle中xmlparser包和DBMS_xmlparser包有何区别?
- 急啊,快来解决以下咯
- 一个SQL SERVER2000存储过程转ORACLE存储过程的问题
- 在查询表时,我想把表名最后一位是数字的表查询出来
- 寻找ORACLE财富
- 急急急!oracle所在磁盘空间要用尽了,大大家快来帮忙啊
- 编译oci程序出错!请大家帮忙啊55555555555555!
- 初级菜鸟问题!
- 请问我想拼sql字符串,v1 varchar2(200) v1 := '.........',如果我想在V1这个Sql的字符串中包含’(也就是单引号),那应该怎么写?
- sqlplus conn sys/oracl as sysdba
- OracleCSService服务问题
检查程序代码。