Salve Rodrigo, eu ralei no começo tb,
Aqui vai a classe que chama umas procedures, cada método chama uma, tem uns métodos que retornam uma String e outros que retornam um ResultSet, ou seja, pegam o CURSOR do ORACLE através do getObject(int) e faz um casting para ResulSet.
Ta na mão.
Espero que esta seja sua dúvida e esta seja sua solução.
Um abraço e bons códigos!

Fernando Camargo

package pcs_pg_db_cliente;
 
 /*****************************************************************************
  * IMPORTS
  ****************************************************************************/
  // MINHA CLASSE DE CONEXÃO
  import pcs_pg_db.Pcs_Con;

  import java.sql.*;
  // PARA USAR OS ORACLE TYPES
  import oracle.jdbc.driver.*;
  import java.lang.*;
 
public class Pcs_Pg_Db_Cliente {
 
 /****************************************************************************
  * Instancia o HANDLE de CONEXÃO (con) no Objeto Pcs_Con.java
  ***************************************************************************/
  Pcs_Con con = new Pcs_Con();
 
 /****************************************************************************
  * Declara as variáveis públicas do Objeto
  ***************************************************************************/
  public String COD_CLIE;
  public String SGL_CLIE;
  public String DSC_CLIE;
  public String COD_USU;
  public String BEAN_STS;
  public String BEAN_ERRO;
 
 /****************************************************************************
  * GETs e SETs das variáveis públicas declaradas acima
  ***************************************************************************/
 
 /**
  * GETs e SETs de COD_CLIE
  */
  public String getCOD_CLIE() {
    return COD_CLIE.trim().toUpperCase();
  }
  public void setCOD_CLIE(String newCOD_CLIE) {
    COD_CLIE = newCOD_CLIE.trim().toUpperCase();
  }
 /**
  * GETs e SETs de SGL_CLIE
  */
  public String getSGL_CLIE() {
    return SGL_CLIE.trim().toUpperCase();
  }
  public void setSGL_CLIE(String newSGL_CLIE) {
    SGL_CLIE = newSGL_CLIE.trim().toUpperCase();
  }
 /**
  * GETs e SETs de DSC_CLIE
  */
  public String getDSC_CLIE() {
    return DSC_CLIE.trim().toUpperCase();
  }
  public void setDSC_CLIE(String newDSC_CLIE) {
    DSC_CLIE = newDSC_CLIE.trim().toUpperCase();
  }
 /**
  * GETs e SETs de COD_USU
  */
  public String getCOD_USU() {
    return COD_USU.trim().toUpperCase();
  }
  public void setCOD_USU(String newCOD_USU) {
    COD_USU = newCOD_USU.trim().toUpperCase();
  }
 
  public Pcs_Pg_Db_Cliente() {
  }
 
  public static void main(String[] args) {
  }
 
 /*****************************************************************************
  * Metodo de chamada da PR_CLIENTE_SEL
  ****************************************************************************/
  public ResultSet call_PR_CLIENTE_SEL() {
    try {
      con.connect();
      Connection connect = con.getConnection();
      CallableStatement call = connect.prepareCall("{ call PR_CLIENTE_SEL(?,?,?,?,?) }");
      call.setString(1, SGL_CLIE);
      call.setString(2, DSC_CLIE);
      call.setString(3, COD_CLIE);
      call.registerOutParameter (4, OracleTypes.VARCHAR);
      call.registerOutParameter (5, OracleTypes.CURSOR);
 
      if(call.execute()) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO LISTAR OS CLIENTES EXISTENTES.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
        else {
          BEAN_ERRO = call.getString(4);
          if(BEAN_ERRO==null){
            ResultSet rsPCS;
            rsPCS = (ResultSet)call.getObject(5);
            return rsPCS;
          }
            else{
              BEAN_STS = BEAN_ERRO;
              if(BEAN_STS.substring(0,3).equals("ORA")){
                BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO LISTAR OS CLIENTES EXISTENTES.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
              }
            }
        }
      call.close();
    }
      catch ( Exception e ) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO LISTAR OS CLIENTES EXISTENTES.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
    con.closeConn();
    return null;
  }
 
 /*****************************************************************************
  * Metodo de chamada da PR_CLIENTE_INS
  ****************************************************************************/
  public String call_PR_CLIENTE_INS() {
    try {
      con.connect();
      Connection connect = con.getConnection();
      CallableStatement call = connect.prepareCall("{ call PR_CLIENTE_INS(?,?,?,?,?) }");
      call.setString(1, SGL_CLIE);
      call.setString(2, DSC_CLIE);
      call.setString(3, COD_USU);
      call.registerOutParameter (4, OracleTypes.VARCHAR);
      call.registerOutParameter (5, OracleTypes.CHAR);
 
      if(call.execute()) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO INSERIR UM NOVO CLIENTE.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
        else {
          BEAN_ERRO = call.getString(4);
          if(BEAN_ERRO==null){
            BEAN_STS = "OK";
            COD_CLIE = call.getString(5);
 
          }
            else{
              BEAN_STS = BEAN_ERRO;
            }
        }
      call.close();
    }
      catch ( Exception e ) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO INSERIR UM NOVO CLIENTE.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
    con.closeConn();
    return BEAN_STS;
  }
 

 /*****************************************************************************
  * Metodo de chamada da PR_CLIENTE_UPD
  ****************************************************************************/
  public String call_PR_CLIENTE_UPD() {
    try {
      con.connect();
      Connection connect = con.getConnection();
      CallableStatement call = connect.prepareCall("{ call PR_CLIENTE_UPD(?,?,?,?) }");
      call.setString(1, COD_CLIE);
      call.setString(2, DSC_CLIE);
      call.setString(3, COD_USU);
      call.registerOutParameter (4, OracleTypes.VARCHAR);
 
      if(call.execute()) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO ALTERAR O CLIENTE.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
        else {
          BEAN_ERRO = call.getString(4);
          if(BEAN_ERRO==null){
            BEAN_STS = "OK";
          }
            else{
              BEAN_STS = BEAN_ERRO;
            }
        }
      call.close();
    }
      catch ( Exception e ) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO ALTERAR O CLIENTE.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
    con.closeConn();
    return BEAN_STS;
  }
 
 /*****************************************************************************
  * Metodo de chamada da PR_CLIENTE_DEL
  ****************************************************************************/
  public String call_PR_CLIENTE_DEL() {
    try {
      con.connect();
      Connection connect = con.getConnection();
      CallableStatement call = connect.prepareCall("{ call PR_CLIENTE_DEL(?,?) }");
      call.setString(1, COD_CLIE);
      call.registerOutParameter (2, OracleTypes.VARCHAR);
 
      System.out.println(COD_CLIE);
 
      if(call.execute()) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO EXCLUIR O CLIENTE.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
        else {
          BEAN_ERRO = call.getString(2);
          if(BEAN_ERRO==null){
            BEAN_STS = "OK";
          }
            else{
              BEAN_STS = BEAN_ERRO;
            }
        }
      call.close();
    }
      catch ( Exception e ) {
        BEAN_STS = "ORAOCORREU UMA EXCEÇÃO AO EXCLUIR O CLIENTE.<BR>A OPERAÇÃO NÃO PODE SER COMPLETADA!<BR>SE O PROBLEMA PERSISTIR, POR FAVOR CONTATE O ADMINISTRADOR DO SISTEMA.";
      }
    con.closeConn();
    return BEAN_STS;
  }
 
/******************************************************************************
 * Fechamento do Objeto de Dados referente a ENTIDADE PCS_CLIENTE
 *****************************************************************************/
}

/************************************************************
 Agora vai o Objeto de conexão que estou usando
************************************************************/

package pcs_pg_db;
 
import java.sql.*;
import java.lang.*;
import java.io.*;
 
/** Declaração do Obj Pcs_Con
*/
public class Pcs_Con{
 
  /** Declaração dos atributos privados
  */
  private          Connection Conn;
  private          ResultSet RS;
  private          Statement stmt;
  private          PreparedStatement pst;
  private          String InsSql;
  private int      RecAffected;
  private          String ErrMsg;
  private          String ConnState;
  private          String RSState;
  private boolean  hasError;

  private final    String CnStr     =  "jdbc:oracle:thin:@nomedamaquina_ou_endereco_ip:1521:nome_do_serviço";
  private final    String Uid       =  "user_name";
  private final    String Pwd       =  "password";
 
  /** Métodos GETs
  */
  public String getConnState(){
    return ConnState;
  }
  public String getRSState(){
   return RSState;
  }
  public String getErrMsg(){
    return ErrMsg;
  }
  public boolean getHasError(){
    return hasError;
  }
  public Connection getConnection(){
    return Conn;
  }
 
  /** Método Main (main)
  */
  public static void main(String args[]){
  }
 
  /** Método Construtor
  */
  public Pcs_Con() {
    InsSql = "";
    ErrMsg = "";
    hasError=false;
  }
 
  /** Método para CONECTAR o Objeto Pcs_Con a sua Base de Dados
   *  RETORNO: void (NADA)
  */
  public void connect(){
    try{
      hasError=false;
      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
      Conn = DriverManager.getConnection(CnStr,Uid,Pwd);
      if (Conn.isClosed()){
        ErrMsg = "PROJETO PCS NÃO CONECTADO A BASE DE DADOS";
        ConnState = "FECHADA";
        hasError=true;
        System.out.println ("PROJETO PCS NÃO CONECTADO A BASE DE DADOS");
      }
        else{
          ErrMsg = "";
          ConnState = "ABERTA";
        }
    }
      catch(SQLException e){
         ErrMsg = "MENSAGEM DE ERRO AO CONECTAR: " + e.getMessage();
         hasError=true;
         System.out.println(e.getMessage());
      }
  }
 
  /** Método para FECHAR a CONEXÃO
   *  RETORNO: void (NADA)
  */
  public void closeConn(){
    hasError=false;
      try{
        if(RSState.equals("ABERTA")){
          this.closeRs();
        }
        Conn.close();
        ConnState = "FECHADA";
      }
        catch(Exception e){
          ErrMsg = "MENSAGEM DE ERRO AO FECHAR A CONEXÃO: " + e.getMessage();
          hasError=true;
        }
  }
 
  /** Método para ABRIR um RESULTSET (SELECT)
   *  RETORNO: ResultSet
  */
  public ResultSet openRs(String vsql){
    InsSql = vsql;
    hasError=false;
    try{
      ResultSet RS=null;
        if(ConnState.equals("ABERTA")){
          stmt = Conn.createStatement();
          RS = stmt.executeQuery(InsSql);
          ErrMsg = "";
          RSState = "ABERTA";
        }
          else{
            System.out.println("A CONEXÃO NÃO FOI ABERTA !");
            ErrMsg="A CONEXÃO NÃO FOI ABERTA !";
            hasError=true;
          }
          return RS;
    }
      catch(SQLException e){
        ErrMsg = "Error in openRs: " + e.getMessage();
        hasError=true;
        System.out.println(e.getMessage());
        return null;
      }
  }
 
  /** Método para FECHAR o RESULTSET
   *  RETORNO: void (NADA)
  */
  public void closeRs(){
    hasError=false;
    try{
      RS.close();
      stmt.close();
      RSState = "FECHADA";
    }
      catch(Exception e){
        ErrMsg = "Error in closeRs: " + e.getMessage();
        hasError=true;
      }
  }
 
  /** Método para EXECUTAR uma INSTRUÇÃO SQL (INSERT, UPDATE OU DELETE)
   *  RETORNO: boolean
  */
  public boolean execSql(String vsql){
    InsSql = vsql;
    boolean ret=false;
    hasError=false;
    try{
      if(ConnState.equals("ABERTA")){
        pst = Conn.prepareStatement(InsSql);
        int result = pst.executeUpdate();
        RecAffected = result;
        pst.close();
        ErrMsg = "";
        if (result > 0){
          ret = true;
        }
        else{
          ret = false;
        }
      }
        else{
          System.out.println("A CONEXÃO NÃO FOI ABERTA !");
          ErrMsg = "A CONEXÃO NÃO FOI ABERTA !";
          hasError=true;
        }
    }
      catch(SQLException e){
        ErrMsg = "ERRO AO EXECUTAR SQL (INSERT, UPDATE OU DELETE): " + e.getMessage();
        System.out.println(e.getMessage());
        ret=false;
      }
      return ret;
  }
 
/** Fechamento do Obj Pcs_Con
*/
 
}







----- Original Message -----
From: "Rodrigo Rodrigues" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, January 15, 2003 9:19 AM
Subject: Re: [java-list] Re:[java-list] Procedures e JSP

> Tudo bem,
>
> Acho que nao faz muita diferença com a minha aplicacao
> ser enterprise ou nao.
> Um Bean nada mais eh do que uma classe como outra
> qualquer.
> Na verdade a minha dificuldade esta sendo em ter uma
> classe que acesse um banco de dados, alguns forms em
> jsp que facam os comandos insert, update, delete e
> select (para mais de uma linha) atraves desta classe.
> Sei que o correto era ter uma classe para a conexao,
> uma para SQL, uma para procedures e os forms em jsp,
> tudo bem separado.
>
> Como todo desenvolvedor apenas preciso de alguns
> exemplos e depois termino de aprender.
>
> Acho que nao devia dizer isso mas estou vindo do ASP.
>
> Obrigado de qualquer maneira,
>
> Rodrigo.
>
>  --- alphaplus-es <
[EMAIL PROTECTED]> escreveu:
> >
> > Voce esta falando de JavaBean ou Enterprise Java
> > Bean?
> > Tem como voce me dar mais informacoes sobre o que
> > esta
> > fazendo?
> >
> > T+, Felipe.
> >
> >
> > > Boa tarde,
> > >
> > > Por favor,
> > > Eu sei como criar um Bean.
> > > Crio a conexao, crio o comando SQL, tal tal tal.
> > > Sei como passar parametros de um JSP e exibi-los
> > na
> > > tela e tal tal tal.
> > > Mas como eu faço para passar parametros de um form
> > > (html JSP) para um Bean.
> > > Como faço apenas um form que passa dados para um
> > SQL
> > > que esta dentro de um Bean.
> > >
> > > Sei que esta faltando pouco para eu conseguir.
> > >
> > > Sera que alguem teria um exemplo de form de
> > insert,
> > > update, delete e select com JSP.
> > >
> > > Se possivel com conexao JDBC nao ODBC.
> > >
> > > Sei que tem exemplos em varios lugares mas
> > acredito
> > > que muitos jah desenvolveram algo assim.
> > >
> > > Obrigado de qualquer maneira.
> > >
> > >
> >
> _______________________________________________________
> > ________________
> > > Busca Yahoo!
> > > O melhor lugar para encontrar tudo o que você
> > procura n
> > a Internet
> > >
http://br.busca.yahoo.com/
> > >
> > > ------------------------------ LISTA SOUJAVA
> > ----------
> > ------------------
> > >
http://www.soujava.org.br  -
> >   Sociedade de Usuários Java da Sucesu-SP
> > > dúvidas mais comuns:
> >
http://www.soujava.org.br/faq.htm
> > > regras da lista:
> >
http://www.soujava.org.br/regras.htm
> > > historico: http://www.mail-archive.com/java-list%
> > 40soujava.org.br
> > > para sair da lista: envie email para java-list-
> >
[EMAIL PROTECTED]
> > >
> >
> -------------------------------------------------------
> > ------------------
> > >
> > >
> >
> >
> >
> __________________________________________________________________________
> > E-mail Premium BOL
> > Antivírus, anti-spam e até 100 MB de espaço. Assine
> > já!
> >
http://email.bol.com.br/
> >
> >
> >
> > ------------------------------ LISTA SOUJAVA
> > ----------------------------
> >
http://www.soujava.org.br  -  Sociedade de Usuários
> > Java da Sucesu-SP
> > dúvidas mais comuns:
> >
http://www.soujava.org.br/faq.htm
> > regras da lista:
> >
http://www.soujava.org.br/regras.htm
> > historico:
> >
>
http://www.mail-archive.com/java-list%40soujava.org.br
> > para sair da lista: envie email para
> >
[EMAIL PROTECTED]
> >
> -------------------------------------------------------------------------
> > 
>
> _______________________________________________________________________
> Busca Yahoo!
> O melhor lugar para encontrar tudo o que você procura na Internet
>
http://br.busca.yahoo.com/
>
> ------------------------------ LISTA SOUJAVA ----------------------------
>
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns:
http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> historico: http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>

Responder a