Olá pessoal!
Antes de abrir este tópico procurei muito na internet e inclusive aqui no GUJ como contar quantos registros tenho na minha tabela.
Tentei usar o ResultSet.getFechSize() e ResultSet.getRow() e mesmo assim não obtive o resultado esperado.
Na minha classe chamada Logica, tenho um metodo que se chama VerificaBoleto, a ideia deste método é: pegar a data do sistema, depois eu acrescento mais 10 dias sobre essa data. Eu faço uma select no meu banco pegando somente a coluna dataVencimento e uso o comando BETWEEN, pois quero pegar todos os registros que estão entre a data do boleto e a data futura (data atual + 10 dias). A ação do botão verificar é de ver quantos boletos estão pra vencer no prazo de 10 dias. É aí que surge meu problema (e acho que tem outros no meu código, rs). Eu não consigo pegar a quantidade de registro que tem no meu banco. Podem me ajudar?
Classe Logica:
Variáveis:
private Connection conexao;
private PreparedStatement pst = null;
private ResultSet rs = null;
private String sql = null;
public ResultSet verif;
public int qtd;
public Date novaData = new Date();
public Date dataSistema = new Date();
public long diferenca;
public void VerificarBoleto() throws ClassNotFoundException
{
conector();
//PEGA A DATA ATUAL DO SISTEMA
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
sdf.format(dataSistema);
//PEGA A DATA ATUAL DO SISTEMA E ACRESCENTE MAIS 10 DIAS.
Calendar c = Calendar.getInstance();
c.setTime(dataSistema);
c.add(Calendar.DAY_OF_MONTH, 10);
novaData = c.getTime();
diferenca = (dataSistema.getTime() - novaData.getTime()) / (1000*60*60*24);
sql = "SELECT COUNT(dataVencimento) FROM boletos WHERE dataVencimento BETWEEN ? AND ?";
try
{
pst = conexao.prepareStatement(sql);
pst.setString(1, String.valueOf(dataSistema));
pst.setString(2, String.valueOf(novaData));
pst.execute();
qtd = rs.getFetchSize();
}
catch(Exception e)
{
}
}
E evento de click no botão Verificar:
try{
Logica log = new Logica();
conexao = ModuloConexao.conector();
if(log.qtd > 0)
{
log.VerificarBoleto();
JOptionPane.showMessageDialog(null, "Você tem "+log.qtd+" a vencer no prazo de 10 dias!");
}
else
{
JOptionPane.showMessageDialog(null, "Você tem "+log.qtd+" a vencer no prazo de 10 dias!");
}
}
catch(Exception e)
{
e.printStackTrace();
}
Eu acho que tem erro em minha query onde está o BETWEEN e também não consigo contar a quantidade de registro que tenho em meu banco.
