Como mandar uma mensagem avisando que o cadastro foi realizado?

3 respostas
J

Como eu envio ao usuario a informação de que o cadastro foi realizado com sucesso nessa classe? E se ele não foi realizado, como aviso?

public static void incluiCliente(Cliente cliente) throws CommunicationException, ConnectException {

con = Conexao.getInstance().getConnection();

SQL = INSERT INTO clientes VALUES(?,?,?,?,?,?,?,?,?);

try {

stm = con.prepareStatement(SQL);

stm.setString(1, cliente.getNome());

stm.setString(2, cliente.getSexo());

stm.setString(3, cliente.getTel());

stm.setString(4, cliente.getRg());

stm.setString(5, cliente.getCpf());

stm.setString(6, cliente.getRua());

stm.setString(7, cliente.getBairro());

stm.setString(8, cliente.getCidade());

stm.setString(9, cliente.getEstado());

stm.execute();
} catch (SQLException e) {
        JOptionPane.showMessageDialog(null, e.getMessage(), "SQL ERROR",
                JOptionPane.ERROR_MESSAGE);
    } finally {
        try {
            stm.close();
            con.close();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Falha na comunicação com o servidor.",
                    "ERRO", JOptionPane.ERROR_MESSAGE);
        }
    }
}

3 Respostas

ViniGodoy

Alternativa 1) Deixe a exceção sair e trate isso na interface gráfica;
Alternativa 2) Retorne um boolean com o valor true se o cadastro der certo.

Além disso, por favor, ao postar tópicos no GUJ, não escreva o título SOMENTE USANDO LETRAS MAIÚSCULAS e, ao postar codigos, use a tag code como descrito aqui:

d34d_d3v1l

[quote=ViniGodoy]Alternativa 1) Deixe a exceção sair e trate isso na interface gráfica;
Alternativa 2) Retorne um boolean com o valor true se o cadastro der certo.

Além disso, por favor, ao postar tópicos no GUJ, não escreva o título SOMENTE USANDO LETRAS MAIÚSCULAS e, ao postar codigos, use a tag code como descrito aqui:

Felizmente Godoy, hoje em dia me aventuro com o Hibernate. Mas antes quando fazia tudo via JDBC, eu criava os PreparedStatements como variaveis de instancia do DAO, e aplicava o singleton na hora de utilizá-los. O que vc acha sobre esta técnica?

Quanto a sua dúvida juninho, eu faria uma classe de mensagens, ou um arquivo de propriedades mesmos para ‘intercionalizar as mensagens’… Por exemplo:

MensagemUtils mensagem = new MensagemUtils();
mensagem.exibirMensagemErroInsert(this);

Onde o this se refere a qual componente (janela). Isto utilizando o JOptionPane.

Sobre as alternativas que o Godoy sugeriu, eu prefiro retirar o try e deixar para tratar a na janela de interface.
Vendo o código acima, acredito que já da pra perceber isto. hehehe

Abraços

CristianPalmaSola10

Eu faço assim

public Usuario salvar(Usuario us) throws Exception, UserDuplicateException
    {
        try {
            getUrbainskiDao().beginTras();
            
            if(buscarUsuarioPorLogin(us.getCdLogin()).size() > 0)
            {
                throw new UserDuplicateException();
            }
            
            getUrbainskiDao().salvar(us);
            
            getUrbainskiDao().commitTrans();
            return us;
        } catch (Exception e) {
            getUrbainskiDao().rollbackTrans();
            e.printStackTrace();
            throw e;
        }
        
    }

Retorno o objeto que veio para ser gravado alterado quando é exclusao faço isso

public void excluir(Usuario us) throws Exception
    {
        try {
            getUrbainskiDao().beginTras();
            
            getUrbainskiDao().excluir(us);
            
            getUrbainskiDao().commitTrans();
        } catch (Exception e) {
            getUrbainskiDao().rollbackTrans();
            e.printStackTrace();
            throw e;
        }
    }

Ai quem chamou trata a mensagem que deve aparece.

Criado 29 de junho de 2012
Ultima resposta 29 de jun. de 2012
Respostas 3
Participantes 4