Problema para criar lista com período de datas

Bom dia!

Com o seguinte comando no PHPMyadmin, consigo filtrar um período de datas (campo VARCHAR):

SELECT * FROM `lancamentoRecarga2` WHERE dataVenda BETWEEN '20/10/2010' AND '25/10/2010' ORDER BY dataVenda

E não consigo exibir uma lista em java. Não dá nenhuma mensagem de erro, mas não me exibe nada em minha jTable:

[code]public List getListaData(String dataInicial, String dataFinal) throws SQLException {
String sql = “select * from lancamentoRecarga2 where dataVenda between ? and ?”;
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setString(1, dataInicial);
stmt.setString(2, dataFinal);

    ResultSet rs = stmt.executeQuery();
    List<DadosDaVenda> listaVendas = new ArrayList<DadosDaVenda>();

    while (rs.next()) {
        DadosDaVenda dv = new DadosDaVenda();
        dv.setNdc(rs.getString("ndc"));
        dv.setLoja(rs.getString("loja"));
        dv.setDia(rs.getString("dataVenda"));
        dv.setHora(rs.getString("hora"));
        dv.setVendedor(rs.getString("vendedor"));
        dv.setValor(rs.getDouble("valor"));
        dv.setOperadora(rs.getString("operadora"));
        dv.setNumeroCelular(rs.getString("numeroCelular"));
        dv.setNsu(rs.getString("nsu"));
        dv.setCaixa(rs.getString("caixa"));

        listaVendas.add(dv);
    }
    rs.close();
    stmt.close();

    return listaVendas;
}[/code]

[code]private void mostraConsulta() throws SQLException {
RelatorioDao dao = new RelatorioDao();
recargas = dao.getListaData("%" + ftfDataInicial.getText() + “%”,"%" + ftfDataFinal.getText() + “%”);
mostraPesquisaDetalhada(recargas);
}

private void mostraPesquisaDetalhada(List<DadosDaVenda> relatorio) {
    while (tmRelatorio.getRowCount() > 0) {
        tmRelatorio.removeRow(0);
    }
    if (relatorio.size() == 0) {
        //JOptionPane.showMessageDialog(null);
    } else {
        String[] linha = new String[]{null, null, null, null, null, null};
        for (int i = 0; i < relatorio.size(); i++) {
            tmRelatorio.addRow(linha);
            tmRelatorio.setValueAt(relatorio.get(i).getNdc(), i, 0);
            tmRelatorio.setValueAt(relatorio.get(i).getLoja(), i, 1);
            tmRelatorio.setValueAt(relatorio.get(i).getDia(), i, 2);
            tmRelatorio.setValueAt(relatorio.get(i).getHora(), i, 3);
            tmRelatorio.setValueAt(relatorio.get(i).getVendedor(), i, 4);
            tmRelatorio.setValueAt(relatorio.get(i).getValor(), i, 5);
            tmRelatorio.setValueAt(relatorio.get(i).getOperadora(), i, 6);
            tmRelatorio.setValueAt(relatorio.get(i).getNumeroCelular(), i, 7);
            tmRelatorio.setValueAt(relatorio.get(i).getNsu(), i, 8);
            tmRelatorio.setValueAt(relatorio.get(i).getCaixa(), i, 9);
        }
    }
    
}[/code]

O problema está no between, pois se eu tirar um parâmetro e buscar apenas uma data, consigo exibir a lista.

Não faço a mínima ideia do que está errado. Agradeço pela ajuda!

coloque um try-catch pra exceções que ele mostra o erro,
ja aconteceu erro cmg assim
tenta um

try
{
}catch(Exception exc)
        {
            System.out.println(exc);
        }

depois posta o erro pra gente ver

Veja se eu declarei corretamente, mas continuou não exibindo nenhum erro

[code]private void mostraPesquisaDetalhada(List relatorio) {
try{
while (tmRelatorio.getRowCount() > 0) {
tmRelatorio.removeRow(0);
}
if (relatorio.size() == 0) {
//JOptionPane.showMessageDialog(null);
} else {
String[] linha = new String[]{null, null, null, null, null, null};
for (int i = 0; i < relatorio.size(); i++) {
tmRelatorio.addRow(linha);
tmRelatorio.setValueAt(relatorio.get(i).getNdc(), i, 0);
tmRelatorio.setValueAt(relatorio.get(i).getLoja(), i, 1);
tmRelatorio.setValueAt(relatorio.get(i).getDia(), i, 2);
tmRelatorio.setValueAt(relatorio.get(i).getHora(), i, 3);
tmRelatorio.setValueAt(relatorio.get(i).getVendedor(), i, 4);
tmRelatorio.setValueAt(relatorio.get(i).getValor(), i, 5);
tmRelatorio.setValueAt(relatorio.get(i).getOperadora(), i, 6);
tmRelatorio.setValueAt(relatorio.get(i).getNumeroCelular(), i, 7);
tmRelatorio.setValueAt(relatorio.get(i).getNsu(), i, 8);
tmRelatorio.setValueAt(relatorio.get(i).getCaixa(), i, 9);
}
}

    double total = 0;
    for (int i = 0; i < tbRelatorio.getRowCount(); i++) {
        Double soma = (Double) tbRelatorio.getValueAt(i, 5);
        total = total + soma.doubleValue();
    }
    tfClaro.setText("" + total);

    }catch(Exception exc)
    {
        System.out.println(exc);
    }
}[/code]

pelo que eu entendi vc ta querendo comparar datas, mas pra conseguir comparar datas, elas nao podem ser do tipo String, mas sim do tipo Date,
e provavelmente ele ta retornando null, pq nao encontra strings entre os dados que vc passou…
tente comparar no formato Date, não no formato String

Faz sentido, mas eu consigo comparar as datas pelo MySQL QueryBrowser ou PHPMyAdmin, por exemplo com este comando, mesmo meu banco estando formatado como VARCHAR.

A comparação de datas como String não é permitida apenas no Java?

bom, se rodou certinho no MySQL entao nao é esse o problema
tipo

 String[] linha = new String[]{null, null, null, null, null, null};  
 //se o tm  provavelmente é um TableModel certo? vc tem 6 campos no vetor linha, em baixo vc adiciona 10 colunas, nao sera isso?
//ou entao tenta dar um refresh na sua tabela 
            for (int i = 0; i < relatorio.size(); i++) {  
                tmRelatorio.addRow(linha);  
                tmRelatorio.setValueAt(relatorio.get(i).getNdc(), i, 0);  
                tmRelatorio.setValueAt(relatorio.get(i).getLoja(), i, 1);  
                tmRelatorio.setValueAt(relatorio.get(i).getDia(), i, 2);  
                tmRelatorio.setValueAt(relatorio.get(i).getHora(), i, 3);  
                tmRelatorio.setValueAt(relatorio.get(i).getVendedor(), i, 4);  
                tmRelatorio.setValueAt(relatorio.get(i).getValor(), i, 5);  
                tmRelatorio.setValueAt(relatorio.get(i).getOperadora(), i, 6);  
                tmRelatorio.setValueAt(relatorio.get(i).getNumeroCelular(), i, 7); 
                tmRelatorio.setValueAt(relatorio.get(i).getNsu(), i, 8); 
                tmRelatorio.setValueAt(relatorio.get(i).getCaixa(), i, 9);  
            }  
suaTabela.validate();//vai atualizar os campos da tabela