Resolvido!

Olá a todos.

Tenho uma procedure no meu BD que retorna um texto informando se os dados foram inseridos ou não.
Gostaria de saber sew tem como eu tratar este retorno, pois caso seja inserido com sucesso ai faria tal coisa, senão faria outra coisa… entenderam?

Bjos a todos.

procedure retorna valor ? :roll:

ola,
da ua olhada:
http://www.exampledepot.com/egs/java.sql/CallProcedure.html

[]´s

Pode retornar.

[]´s

sim…ela retorna !!!

            CallableStatement statement = connection.prepareCall("P_GERA_XXX","{call PCK_DB_XXX.P_GERA_XXX(?,?)});
            statement.setLong(1, simulationId);
            statement.registerOutParameter(2,Types.BIGINT);
            statement.execute();
            adhesionId = statement.getLong(2);
            return adhesionId;

Repare que existem dois parametros (?, ?) sendo que um deles representa um parametro necessário para a execução e o segundo é relativo ao retorno…

[]'s

hummmmm

Obrigada a todos pela ajuda.

ultima duvida, to tentando exectar minha procedure, em um dos campos existe um atributo do tipo timestamp(postgres) e estou enviando um atributo do tipo Date para essa procedure.

Segue o codigo:

ry {
            CallableStatement statement = c.getConexao().prepareCall("{call procv(?,?,?,?,?,?,?,?)}");
            statement.registerOutParameter(8, Types.VARCHAR);
            statement.setInt(1, int1);
            statement.setString(2, String1);
            statement.setString(3, String2);
            statement.setString(4, String3);
            statement.setString(5, String4);
            statement.setDate(6,(java.sql.Date) data);
            statement.setString(7, String5;
            statement.execute();
            result = statement.getString(8);
            JOptionPane.showMessageDialog(null, result);
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
            return result;

E ta obtendo problema do cast:

ERRO

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

Como posso solucionar tal problema?

ao invés de dar um cast

statement.setDate(6,(java.sql.Date) data)

passe um java.sql.Date direto. Resumindo seu campo data devia ser do tipo java.sql.Date e não o java.util.Date arrume seus imports.

uma maneira:

  statement.setTimestamp(6, new Timestamp(data.getTime()));

de uma lida sobre essa exception e tente entender pq ela esta acontecendo.

[]´s

Obrigada!