Como fazer pesquisa em mysql com campo date

Boa tarde!

Como faço para fazer uma consulta de data em mysql da seguinte forma:

Tenho este jformattedtextfield, que formata a data tipo “14/10/2010”:

ftfPeriodoInicial = new javax.swing.JFormattedTextField();
try{
javax.swing.text.MaskFormatter data= new javax.swing.text.MaskFormatter("##/##/####"); 
ftfPeriodoInicial = new javax.swing.JFormattedTextField(data); 
} 
catch (Exception e){ 
}

No mysql, o campo “data” está com o formato “DATE”, ou seja “2010-10-14”. Como faço para realizar consultas com estes dois formatos diferentes?

Já havia perguntado isto em outro tópico, mas entenderam que eu queria armazenar data neste banco. Eu quero apenas consultar as datas.

Meu código de busca:

private void pesquisaData() throws SQLException {
        AnaliseVendedorDao dao = new AnaliseVendedorDao();
        vendedor = dao.getListaByData("%" + ftfPeriodoInicial.getText() + "%");
        mostraPesquisa(vendedor);
    }

Agradeço pela ajuda!

Poste o código deste método dao.getListaByData()

[code]public List getListaByData(String data) throws SQLException {
String sql = “select * from anavend where data like ?”;
java.sql.PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setString(1, data);
ResultSet rs = stmt.executeQuery();
List listaByData = new ArrayList();

    while (rs.next()) {
        Anavend vend = new Anavend();
        vend.setData(rs.getString("data"));
        vend.setVendedor(rs.getString("vend"));
        vend.setLoja(rs.getString("loja"));
        vend.setValor(Double.parseDouble(rs.getString("valorVendido")));
        listaByData.add(vend);
    }
    rs.close();
    stmt.close();
    return listaByData;
}[/code]

[code]public List getListaByData(Date data) throws SQLException {
String sql = " select * from anavend where data BETWEEN ? AND ?";
java.sql.PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setDate(1, data);
stmt.setDate(2, data);
ResultSet rs = stmt.executeQuery();
List listaByData = new ArrayList();

    while (rs.next()) {
        Anavend vend = new Anavend();
        vend.setData(rs.getString("data"));
        vend.setVendedor(rs.getString("vend"));
        vend.setLoja(rs.getString("loja"));
        vend.setValor(Double.parseDouble(rs.getString("valorVendido")));
        listaByData.add(vend);
    }
    rs.close();
    stmt.close();
    return listaByData;
}[/code]

Assim deve dar pra vc ter uma ideia…

Amigão, tô entendendo sua explicação. Esbarrei no seguinte erro após fazer a alteração sugerida:

method getListaByData in class dao.AnaliseVendedorDao cannot be applied to given types
  required: java.util.Date
  found: java.lang.String

Como devo corrigir?

private void pesquisaData() throws SQLException {
        AnaliseVendedorDao dao = new AnaliseVendedorDao();
        vendedor = dao.getListaByData("%" + ftfPeriodoInicial.getText() + "%"); // O erro está aqui
        mostraPesquisa(vendedor);
    }

Obrigado!

Tenta assim …

Date data;
data = Date.valueOf(ftfPeriodoInicial.getText());
vendedor = dao.getListaByData(data);

cannot find symbol symbol: method valueOf(java.lang.String) location: class java.util.Date
:frowning: :frowning: :shock:

Use isso

SimpleDateFormat out = new SimpleDateFormat("dd/MM/yyyy"); 

Não entendi. Este código no jformattedtextfield ou no método de pesquisa?

Sim pode ser la dentro do método…

// cria o formatador  
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");  
Date data = formatador.parse(Aqui seu campo ou variavel string);  

Quase lá. Consegui executar o programa, mas retornou o erro ao realizar a pesquisa:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

Será que tem jeito?

Mude a dependência

 java.sql.Date  para  java.util.Date