1 try { 2 DBConnection dbs = new DBConnection(); 3 conn = dbs.getConnection(); 4 stmt = conn.prepareCall("{call PAK_ExecuteAttendingDoctor.ExecuteAttendingDoctor (?,?,?)}");//前两个为参数,第三个为输出
//存储过程内容详见http://www.cnblogs.com/wuhailong/p/5137254.html 5 stmt.registerOutParameter(1, OracleTypes.VARCHAR);//参数 6 stmt.registerOutParameter(2, OracleTypes.VARCHAR);//存数 8 stmt.registerOutParameter(3, OracleTypes.CURSOR);//游标 9 stmt.setString(1, start_time); 10 stmt.setString(2, end_time); 11 if (true) { 12 String ss = "select dept_name from lcp_local_dept where dept_code='" 13 + deptcodevalue + "'"; 14 DatabaseClass db1 = LcpUtil.getDatabaseClass(); 15 String deptName = ""; 16 deptName = db1.FunGetDataSetBySQL(ss).FunGetDataAsStringById(0, 17 0); 18 // stmt.setString(3,deptName); 19 stmt.execute(); 20 rs = (ResultSet) stmt.getObject(3); 21 while (rs.next()) { 22 String execute_dept = rs.getString("execute_dept"); 23 String attending_doctor = rs.getString("attending_doctor"); 24 int fhrs = rs.getInt("fhrs"); 25 int nrrs = rs.getInt("nrrs"); 26 int wcrs = rs.getInt("wcrs"); 27 double nrl = rs.getDouble("nrl"); 28 double wcl = rs.getDouble("wcl"); 29 int xdyzzs = rs.getInt("xdyzzs"); 30 int xdlcljyzs = rs.getInt("xdlcljyzs"); 31 double xdl = rs.getDouble("xdl"); 32 data.add(new Object[] { execute_dept, attending_doctor, 33 fhrs, nrrs, wcrs, nrl, wcl, xdyzzs, xdlcljyzs, xdl }); 34 } 35 } 36 } catch (Exception e) { 37 System.out.println("存储过程取数据出错!!" + e.getMessage()); 38 } finally { 39 if (stmt != null) { 40 try { 41 stmt.close(); 42 } catch (SQLException e) { 43 e.printStackTrace(); 44 } 45 stmt = null; 46 } 47 if (rs != null) { 48 try { 49 rs.close(); 50 } catch (SQLException e) { 51 e.printStackTrace(); 52 } 53 rs = null; 54 } 55 if (statement != null) { 56 try { 57 statement.close(); 58 } catch (SQLException e) { 59 e.printStackTrace(); 60 } 61 statement = null; 62 } 63 if (conn != null) { 64 try { 65 conn.close(); 66 } catch (SQLException e) { 67 e.printStackTrace(); 68 } 69 conn = null; 70 } 71 }