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…