用CallableStatement调用存储过程

解决方案 »

  1.   

    CallableStatement cs;
        try {
          // Call a procedure with no parameters
            cs = connection.prepareCall("{call myproc}");
            cs.execute();
        
          // Call a procedure with one IN parameter
            cs = connection.prepareCall("{call myprocin(?)}");
        
            // Set the value for the IN parameter
            cs.setString(1, "a string");
        
            // Execute the stored procedure
            cs.execute();
        
          // Call a procedure with one OUT parameter
            cs = connection.prepareCall("{call myprocout(?)}");
        
            // Register the type of the OUT parameter
            cs.registerOutParameter(1, Types.VARCHAR);
        
            // Execute the stored procedure and retrieve the OUT value
            cs.execute();
            String outParam = cs.getString(1);     // OUT parameter
        
          // Call a procedure with one IN/OUT parameter
            cs = connection.prepareCall("{call myprocinout(?)}");
        
            // Register the type of the IN/OUT parameter
            cs.registerOutParameter(1, Types.VARCHAR);
        
            // Set the value for the IN/OUT parameter
            cs.setString(1, "a string");
        
            // Execute the stored procedure and retrieve the IN/OUT value
            cs.execute();
            outParam = cs.getString(1);            // OUT parameter
        } catch (SQLException e) {
        }