Bom dia galera, tudo blz?
Estou com um problema estranho no minimo, e o seguinte.
Estou desenvolvendo um sistema em jsf aqui, o que aconteceu e que todas as regras de negocio estão no banco de dados em forma de procedures, ou seja, ao inserir um determinado dado ele faz toda a validação no banco, e me retorna um código e uma mensagem de inserido, erro de validação ou algo do tipo.
Bom o que acontece e o seguinte, ao inserir o dado, caso aconteça um erro e o dado não seja inserido, ele me retorna o erro no resultset e mostro o erro na tela, porem se o dado e inserido, ele não retorna nada, acusa uma exception falando que não houve resultado, porem, e inserido o dado no banco, e se eu executo a proc direto no sqlserver com os mesmos parametros que inseri na tela, ele funciona normal, sem erro e me devolve o retorno certo.
Então, o que estou achando estranho e o fato de só estourar exception se ele consegue inserir, isso não e em apenas 1 proc, e sim em todas que fazem a inserção e aguaram um resultado, ja descartei o erro da proc, e to pensando se e algum problema com o result set ou coisa do tipo.
public void save(Tp_AtividadeVO vo) {
try {
ExceptionBD ex = new ExceptionBD();
CallableStatement cs = connection.prepareCall("{call SP_CARREGA_TB_TIPO_ATIVIDADE(?) }");
cs.setString(1, vo.getTipoatividade());
rs = cs.executeQuery();
while (rs.next()) {
ex.setId(rs.getInt("CD_RETORNO"));
ex.setMensagem(rs.getString("RETORNO"));
System.out.println(ex.getId() + " " + ex.getMensagem());
}
cs.close();
rs.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
Alguém passou por algo do tipo?
Vlw galera