请教一个jdbc调用存储过程的问题??
项目中需要用jdbc调用存储过程,存储过程是第三方提供的,现在只知道这个存储过程会返回一个字符串。以前没接触过存储过程,看的有些晕,现在任务有些急,请教各位。
第三方提供的存储过程:
DECLARE @return_value int,@o_bool varchar(1) EXEC @return_value = [dbo].[p_check_workday] @i_empno = N'$empno$' @i_workdt = N'$sdate$',@o_bool = @o_bool OUTPUT SELECT @o_bool as N'@o_bool'
public void callProcedure(Connection conn, String procedure_name, List<Object> list) throws Exception { CallableStatement cast = null; StringBuffer strb = new StringBuffer(); strb.append("{call " + procedure_name + "("); if (null != list) { int listSize = list.size(); for (int i = 0; i < listSize; i++) { if (i == listSize - 1) { strb.append("?"); } else { strb.append("?,"); } } } strb.append(")}"); cast = conn.prepareCall(strb.toString()); for (int i = 0; i < list.size(); i++) { cast.setString(i + 1, list.get(i).toString()); } cast.executeUpdate(); conn.commit(); cast.close(); }List list = new ArrayList();list.add("empno");//第一个参数list.add("sdate");//第二个参数callProcedure("[dbo].[p_check_workday]",list);