//首先要执行这两个过程
stmt = conn.prepareStatement("{call set_view_time.set_beg_value("+bdate+")}");
stmt.execute();
stmt = conn.prepareStatement("{call set_view_time.set_beg_value("+edate+")}");
stmt.execute();
//过程执行后在查询表数据
stmt = conn.prepareStatement(buff.toString());
rs = stmt.executeQuery();以上SQL与过程pl/sql中好使.用java调用不报错,但查询不出来数据.
需要先执行过程然后表里才有数据.但我这种写法不好使.
求高人...
解决方案 »
- 无任何网络提供程序接受指定的网络路径的问题
- JSONOBJECT对象存储数据问题
- 当我提交一个Action时候,我不想让这个Action显示到地址栏中,该如何实现呢,谢谢
- 谁有JAVA版的新语聊天室
- 如何将jboss MQ的连接工厂配置成是使用XAConnectionFactory的?(急等!!)
- 铁盗部网站报错了,貌似用的SSH
- 还是一个socket的问题,大人物们,谢谢了!
- 关于架构,基础问题
- 关于JAVA的数字的格式化
- Springboot 上传图片后不能回显
- 如何加快一个网站的访问速度?
- java.net.ProtocolException: HTTP tunneling is disabled
public TestProcedureTHREE() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null; try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "hyq", "hyq"); CallableStatement proc = null;
proc = conn.prepareCall("{ call hyq.testc(?) }");
proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
proc.execute();
rs = (ResultSet)proc.getObject(1); while(rs.next())
{
System.out.println("<tr><td>" + rs.getString(1) + "</td><td>"+rs.getString(2)+"</td></tr>");
}
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}
}调用存储过程,返回游标值。
实在是要解决这个问题,把数据库的隔离级别调低,允许“脏读”