Como pegar o valor de uma Int no banco de dados

14/09/2017

0

Amigos,

Tenho o codigo:

public Integer ultimoCodigoBD() {
        try {
            String hql = "select auto_increment from information_schema.tables "
                    + "where TABLE_SCHEMA='digitalizardb' and table_name='documento'";
            Query consulta = session.createSQLQuery(hql);
            return (Integer) consulta.uniqueResult();
            

        } catch (Exception e) {
            System.out.println("Erro ao pegar o ultimo codigo: "+e.getMessage()+e.getLocalizedMessage());
        }
        return 0;
    }


O intuito é pegar o valor(inteiro) deste campo e utiliza-lo para compor o nome do arquivo que será salvo no disco. Esta retornando erro de cast no momento do return.

o que estou fazendo errado?
Filipe Bevilaqua

Filipe Bevilaqua

Responder

Post mais votado

20/09/2017

Bom dia, Filipe

Talvez seja bom verificar o retorno consulta.uniqueResult() apenas pra evitar NumberFormatException.

Para retornar o inteiro, tente assim:

public int ultimoCodigoBD() {
        try {
            String hql = "select auto_increment from information_schema.tables "
                    + "where TABLE_SCHEMA='digitalizardb' and table_name='documento'";
            Query consulta = session.createSQLQuery(hql);
            return Integer.parseInt(consulta.uniqueResult());
            

        } catch (Exception e) {
            System.out.println("Erro ao pegar o ultimo codigo: "+e.getMessage()+e.getLocalizedMessage());
        }
        return 0;
    }

Felipe Morais

Felipe Morais
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar