http://www-900.ibm.com/developerWorks/components/j-spejb/index.shtml

解决方案 »

  1.   

    调用存储过程 
    在数据库中定义存储过程,可以使用复杂的SQL语句,直接生成最终结果的报表,避免在前端反复调用数据库,减少前端的开发量及网络负载。生成报表只需在JSP文件中调用一次存储过程即可。 
    // 创建一个 存储过程对象  
    CallableStatement cstmt = con.prepareCall("{call crt_proc_wkcb1(?,?,?)}"); 
    //取用户输入的参数 
    String StartDate = request.getParameter("StartDate"); 
    String EndDate = request.getParameter("EndDate"); 
    String OGCD = (String) session.getValue("SessOGCD"); 
    //将参数传给过程 
    cstmt.setString(1,OGCD); 
    cstmt.setString(2,StartDate); 
    cstmt.setString(3,EndDate); 
    cstmt.executeUpdate(); 
    //取存储过程生成的结果,赋给RS变量,用以显示到网页的表格中。 
    Statement stmt = con.createStatement (); 
    String sql = “select * from WKCBL”; 
    ResultSet rs = stmt.executeQuery (sql);