存储过程代码如下:
create or replace package mysp is
type refcursor is ref cursor return MEIGARA_INFO2%ROWTYPE;
procedure mytest(mycur in OUT refcursor);
end mysp;create or replace package body mysp is
procedure mytest(mycur in OUT refcursor)IS
begin
open mycur for
SELECT * FROM MYTABLE;
end mytest;
end mysp;/////////////////////////////////////////
jsp如下:
<%@ page contentType="text/html; charset="SHIFT_JIS""%>
<%@ page language="java" import="java.sql.*,java.io.*,javax.naming.*,javax.sql.*,java.lang.*,java.util.*,java.text.*" %>
<html>
<body>
<%
String sta;
String sql = "{call mysp.mytest(?)}";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@202.118.44.105:1521:SVER";
String user="MY";
String password="MY";
Connection conn = DriverManager.getConnection(url,user,password);
CallableStatement mycs = conn.prepareCall(sql);
mycs.registerOutParameter(1,Types.OTHER);
mycs.execute(); ResultSet rs = (ResultSet)mycs.getObject(1);
while(rs.next()){
sta = rs.getString(1);
out.println(" status is :" +sta);
}
mycs.close();
rs.close();
conn.close();
}
catch (Exception e)
{
out.print(e);
}
%>
这段代码有问题麽,怎么老是不对呢?请大家帮忙看看。
create or replace package mysp is
type refcursor is ref cursor return MEIGARA_INFO2%ROWTYPE;
procedure mytest(mycur in OUT refcursor);
end mysp;create or replace package body mysp is
procedure mytest(mycur in OUT refcursor)IS
begin
open mycur for
SELECT * FROM MYTABLE;
end mytest;
end mysp;/////////////////////////////////////////
jsp如下:
<%@ page contentType="text/html; charset="SHIFT_JIS""%>
<%@ page language="java" import="java.sql.*,java.io.*,javax.naming.*,javax.sql.*,java.lang.*,java.util.*,java.text.*" %>
<html>
<body>
<%
String sta;
String sql = "{call mysp.mytest(?)}";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@202.118.44.105:1521:SVER";
String user="MY";
String password="MY";
Connection conn = DriverManager.getConnection(url,user,password);
CallableStatement mycs = conn.prepareCall(sql);
mycs.registerOutParameter(1,Types.OTHER);
mycs.execute(); ResultSet rs = (ResultSet)mycs.getObject(1);
while(rs.next()){
sta = rs.getString(1);
out.println(" status is :" +sta);
}
mycs.close();
rs.close();
conn.close();
}
catch (Exception e)
{
out.print(e);
}
%>
这段代码有问题麽,怎么老是不对呢?请大家帮忙看看。
private static oracle.jdbc.OracleCallableStatement call = null;
call = (oracle.jdbc.OracleCallableStatement)conn.prepareCall("{call mytest.zhbtest(?,?)}");
call.setString(1, "4050608006");
call.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR);
rs = call.getCursor(2);
while(rs.next()){
System.out.println(rs.getString(1));
}存储过程返回游标.