[RESOLVIDO ] Erro no select


    public ApontamentoLiberacaoCarga existeApontamentoCarregada(int cod_carga) {
        ApontamentoLiberacaoCarga liberacao = new ApontamentoLiberacaoCarga();
        try {
            conex.conectar();
            Statement query = conexao.conn.createStatement();
            ResultSet resultado = query.executeQuery("SELECT * "
                    + "FROM TI_apt_cargas_lib_test "
                    + "WHERE cod_carga='"+cod_carga+"';");
            if (resultado.next()) {
                liberacao.setCod_carga(resultado.getInt(1));
                liberacao.setData_liberacao(resultado.getDate(2));
                liberacao.setData_carregada(resultado.getDate(3));
                liberacao.setUsuario_liberacao(resultado.getString(4));
                liberacao.setUsuario_carregada(resultado.getString(5));
            } else {
                liberacao = null;
            }
            conex.fechar_resultset(resultado);
            query.close();
            return liberacao;
        } catch(SQLException e) {
            System.out.println("OXI");
            System.out.println(e);
            
            return null;
        }
    }

Galera o que estou errando no meu select, o erro que retorna e este…

java.sql.SQLException: Can’t convert to: Date

.

[quote=felipeti][code]

public ApontamentoLiberacaoCarga existeApontamentoCarregada(int cod_carga) {
    ApontamentoLiberacaoCarga liberacao = new ApontamentoLiberacaoCarga();
    try {
        conex.conectar();
        Statement query = conexao.conn.createStatement();
        ResultSet resultado = query.executeQuery("SELECT * "
                + "FROM TI_apt_cargas_lib_test "
                + "WHERE cod_carga='"+cod_carga+"';");
        if (resultado.next()) {
            liberacao.setCod_carga(resultado.getInt(1));
            liberacao.setData_liberacao(resultado.getDate(2));
            liberacao.setData_carregada(resultado.getDate(3));
            liberacao.setUsuario_liberacao(resultado.getString(4));
            liberacao.setUsuario_carregada(resultado.getString(5));
        } else {
            liberacao = null;
        }
        conex.fechar_resultset(resultado);
        query.close();
        return liberacao;
    } catch(SQLException e) {
        System.out.println("OXI");
        System.out.println(e);
        
        return null;
    }
}

[/code]

Galera o que estou errando no meu select, o erro que retorna e este…

java.sql.SQLException: Can’t convert to: Date

[/quote]

Dica: Utilize PrepareStatement <<<<<<<<<<<------------------------------------------ padronização… ;]

Sobre o erro isso quer dizer que vc ta setando um valor que não é do tipo Date ou o inverso… setando uma variavel que é Date, mas passando outro tipo de dados…

vê aí…

Um dos erros na sua consulta é o uso de ; no final

Altere para o código abaixo e veja se isso resolve:

ResultSet resultado = query.executeQuery("SELECT * "  
                + "FROM TI_apt_cargas_lib_test "  
                + "WHERE cod_carga='"+cod_carga+"'");  

Depois siga a recomendação do post acima, sempre tente usar PreparedStatment, isso é para evitar injeção de SQL.

[]s

Boa tarde!

nesse caso pode ser varias coisas

a coluna da tabela pode ser de uma string, int , decimal e no resultset ele ta dando um getDate(). que gera a exception

mas acredito que a query esteja errada

vc esta dando SELECT * FROM TI_apt_cargas_lib_test e ta fazendo a busca pelo índice do retorno, mas dessa forma não tem como saber se o que esta no índice 2 por exemplo é realmente uma data “resultado.getDate(2)”… eu a concelho você alterar sua query colocando os campos do retorno no select ou busca no resultset pelo nome da coluna ao em vez do índice
ex: resultado.getDate(“data_nasc”) onde data_nasc é o nome da coluna do tipo date da sua tabela

Consegui resolver, o problema era que estava passando um codigo de carga String, e o no banco o codigo de carga é int…