[RESOLVIDO] dúvida interminável com busca de data em mysql

2 respostas
marcusluiz83

Boa noite, amigos!

Reli os dois tópicos anteriores (depois pedirei à moderação para apaga-los) em que não consigo fazer uma pesquisa com data de um banco mysql. Relendo, até me deu uma clareada, consegui implantar algumas coisas que não sabia e não havia entendido em um primeiro momento.

Enfim, estou apanhando por estar me confundindo com java.util.date e java.sql.date

private void pesquisaData() throws SQLException, ParseException { TesteDateDao dao = new TesteDateDao(); SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy"); Date data = formatador.parse(ftfDataPesquisa.getText()); testeDate = dao.getLista(data); }

public List<TesteDate> getLista(Date data) throws SQLException {
        String sql = "select * from venda where dataVenda like ?";
        java.sql.PreparedStatement stmt = this.conexao.prepareStatement(sql);
        stmt.setDate(1, new java.util.Date(data.getTime()));
        ResultSet rs = stmt.executeQuery();
        List<TesteDate> listaByData = new ArrayList<TesteDate>();

        while (rs.next()) {
            TesteDate vend = new TesteDate();
            vend.setId(rs.getInt("id"));
            vend.setDataVenda(rs.getString("dataVenda"));
            listaByData.add(vend);
        }
        rs.close();
        stmt.close();
        return listaByData;
    }

Empaquei e fiz várias pesquisas aqui no guj mas não consigo sair disto:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - incompatible types required: java.sql.Date found: java.util.Date
Por favor, me ajudem! Obrigado!

2 Respostas

Eric_Yuzo

O prepared statement espera por um java.sql.Date e não por um java.util.Date. Conserte o endereço na linha em que está setando o parâmetro.

De: stmt.setDate(1, new java.util.Date(data.getTime())); Para: stmt.setDate(1, new java.sql.Date(data.getTime()));

marcusluiz83

Meu irmão, muito obrigado mesmo!

Sua ajuda foi muito valiosa para meu projeto.

Abraço!

Criado 6 de novembro de 2010
Ultima resposta 6 de nov. de 2010
Respostas 2
Participantes 2