1.oracle下
假定存储过程名字为 sp_yourprocedurename,有两个参数 CallableStatement cstmt = con.prepareCall("{call sp_yourprocedurename(?,?}");
cstmt.registerOutparameter(2,java.sql.Types.FLOAT);
cstmt.setint(1,parameter1);
cstmt.execute();
out.println("Procedure output is :"+cstmt.getFloat(2)); 2.
strsql="execute proc...()"
然后用stmt.execute()就可以了!
假定存储过程名字为 sp_yourprocedurename,有两个参数 CallableStatement cstmt = con.prepareCall("{call sp_yourprocedurename(?,?}");
cstmt.registerOutparameter(2,java.sql.Types.FLOAT);
cstmt.setint(1,parameter1);
cstmt.execute();
out.println("Procedure output is :"+cstmt.getFloat(2)); 2.
strsql="execute proc...()"
然后用stmt.execute()就可以了!
我的SqlBean是个执行数据库操作的javabean.
//连接数据库
Class.forName(driver);
conn=DriverManager.getConnection(url,user_name,password);
stmt=conn.createStatement();
//声明存储过程,该过程前三个参数是in,第四个是out的过程执行出错信息.
ls_sql="{call pkg_create_report.pro_create_zbtjb(?,?,?,?)}";
pstmt=conn.prepareCall(ls_sql);
//赋参数值
pstmt.setString(1,ls_bfkssq);
pstmt.setString(2,ls_efkssq);
pstmt.setString(3,ls_flag);
pstmt.registerOutParameter(4, java.sql.Types.VARCHAR);//返回错误信息 //执行过程
boolean lb_re=pstmt.execute();
if (pstmt.getString(4)==null)
{ls_err="过程调用成功!";
}
else
{
ls_err="过程调用失败错误!"+pstmt.getString(4);
}
//结束pstmt.close();
stmt.close();
conn.close();