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!