Bel
Junho 2, 2009, 2:53pm
#1
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:
jgbt
Junho 2, 2009, 3:09pm
#3
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
Bel
Junho 2, 2009, 4:03pm
#7
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.
jgbt
Junho 2, 2009, 4:09pm
#9
uma maneira:
statement.setTimestamp(6, new Timestamp(data.getTime()));
de uma lida sobre essa exception e tente entender pq ela esta acontecendo.
[]´s