Contador de registros java+mysql

2 respostas
marcusluiz83

Boa noite!

Tenho o seguinte código que deveria somar "1" ao contador de exames realizados:
private void atualiza() {
        if (Integer.valueOf(tfRealizados.getText()) + 1 > Integer.valueOf(tfLimite.getText())) {
            JOptionPane.showMessageDialog(null, "O limite mensal para o exame selecionado foi alcançado.");
        } else {
            Exame c1 = new Exame();
            ExameDAO dao = new ExameDAO();
            c1.setNome(tfExame.getText());
            c1.setConfirmados(Integer.valueOf(tfRealizados.getText() + '1')); // Como corrigir?
            dao.alteraConfirmados(c1);
            JOptionPane.showMessageDialog(null, "Exame alterado com sucesso!");
        }

    }
Só que desta forma, acrescenta 1 ao final do número registrado, e não é somado 1, como deveria ser. Exemplo: 1 exame foi realizado (confirmados = 1). Ao registrar outro exame, o valor de "confirmados", passa para 11 ao invés de 2.

Como devo corrigir? Agradeço pela ajuda!

2 Respostas

marcusluiz83

Amigos,

Depois de uma caneca de Brahma consegui raciocinar, e vi que meu erro era toscaço. :oops:

Alterei da seguinte forma:
private void atualiza() {
        if (Integer.valueOf(tfRealizados.getText()) + 1 > Integer.valueOf(tfLimite.getText())) {
            JOptionPane.showMessageDialog(null, "O limite mensal para o exame selecionado foi alcançado.");
        } else {
            Exame c1 = new Exame();
            ExameDAO dao = new ExameDAO();

            int contador = Integer.valueOf(tfRealizados.getText());
            int novoContador = contador + 1;

            c1.setNome(tfExame.getText());
            c1.setConfirmados(Integer.valueOf(novoContador));
            dao.alteraConfirmados(c1);
            JOptionPane.showMessageDialog(null, "Exame alterado com sucesso!");
        }

    }

Abraço!

luxu

Do jeito que está ele está concatenando por isso aparece 11 tente assim:

c1.setConfirmados((Integer.valueOf(tfRealizados.getText()))+1);

Criado 15 de janeiro de 2011
Ultima resposta 15 de jan. de 2011
Respostas 2
Participantes 2