Realizar uma consulta no banco de dados e subtrair a data de registro da data atual do sistema
6 respostas
R
rafaezandinha
Boa noite pessoal, peço desculpas se estiver postando no lugar errado, também fiz uma busca e não achei em lugar nenhum a resposta!
a questão é a seguinte, preciso criar uma consulta que pegue a data de um registro no banco de dados mysql, depois compare com a data atual do sistema e faça uma subtração, porém não sei por onde começar, peço desculpas pois sou superiniciante em java! e também se estiver postando no lugar errado!
// retorna o intervalo de dias entre duas datas// passar as datas no formato brasil // ex: contaDias("15/09/2011","20/09/2011") publicStringcontaDias(StringdataInicialBR,StringdataFinalBR)throwsParseException{DateFormatdf=newSimpleDateFormat("dd/MM/yyyy");df.setLenient(false);DatedataInicio=df.parse(dataInicialBR);DatedataFim=df.parse(dataFinalBR);longdt=(dataFim.getTime()-dataInicio.getTime())+3600000;LongdiasCorridosAnoLong=(dt/86400000L);IntegerdiasDecorridosInt=Integer.valueOf(diasCorridosAnoLong.toString());StringdiasDecorridos=String.valueOf(diasDecorridosInt);//Sem numeros formatados; returndiasDecorridos;}
espero ter ajudado
:thumbup:
R
rafaezandinha
O Juliano Vlw pela atenção cara, seguinte, deixa eu explicar melhor:
como eu to aprendendo pra exercitar eu to fazendo um sistema de cadstro para o serviço da minha esposa já que eles usan excel lá… rsrsrsrs! no banco eu tenho um campo data_emprestimo, eu queria colocar um botão no jFrame e um metodo assim: toda vez que clicar no botão, ele faz uma busca no banco por datsa de registro com diferença de 14 meses da data atual, depois e me retorne os registros pode ser em uma jtable mesmo!
R
rafaezandinha
Boa noite, acho que consegui simplificar o problema!
No jframe clientes, criei 2 jtextfields, tfDatahoje, e tfDeprestimo, no tfDatahoje coloque o seguinte codigo nas propriedades do jtextfield:
GregorianCalendar data = new GregorianCalendar(TimeZone.getTimeZone("GMT-3"),new Locale("pt_BR"));
Date d = data.getTime();
String dt[] = {String.valueOf(d.getDate()), String.valueOf((d.getMonth() + 1)), String.valueOf((d.getYear() + 1900))};
if (Integer.parseInt(dt[0]) < 10) {
dt[0] = "0" + dt[0];
}
if (Integer.parseInt(dt[1]) < 10) {
dt[1] = "0" + dt[1];
}
tfDataHoje.setText(dt[0] + dt[1] + dt[2]);
assim sempre que eu abro o form clientes este campo de texto já fica com a data atual do sistema, agora a minha ideia é a seguinte, sera que existe alguma maneira de pegar esta data, diminuir 14 meses e setar o resultado no jtextfield “tfDemprestimo”, porque ai eu criaria um select procurando no banco pela data do resultado da subtração!
para usar vc faz o seguinte,no primeiro parâmetro passe a data no formato AAAA-MM-DD e no segundo parâmetro passe o numero de dias que você quer subtrair, passe um numero negativo para subtrair caso contrario ele ira somar
// te retorna a data de 10 dias atras Stirngdata10DiasAtras=somaData("2011-09-18",-10)
depois disso você passa essa data na sua query do sql
select * from suaTablela where dataEmprestimo <= dataDeHoje and dataEmprestimo >= data10DiasAtras
:thumbup:
R
rafaezandinha
BLZ, e tem como eu setar esse resultado (resultado da subtração) no jtextfield?
R
rafaezandinha
é pq assim, eu tenho a classe "ListClientes" depois tenho o pacote "listclientes" onde tem as classes: ListClienteBean (onde tem os get, e set), a ListClienteControl (onde tem os metodos de select, update, insert) então por exemplo a pesquisa de clientes na classe "ListClienteControl" fica assim:
"String consultaListCliente = "SELECT * FROM CLIENTES WHERE NOME LIKE ?";"
o metodo em "ListClienteControl" fica assim:
public List<ListClienteBean> listarListClientes(String nome){
List<ListClienteBean> listclientes = new ArrayList();
try{
AcessoMySql bd = new AcessoMySql();
pstm = bd.conectar().prepareStatement(consultaListCliente);
pstm.setString(1, nome);// SELECT * FROM CLIENTES WHERE NOME LIKE Rafael
rs = pstm.executeQuery();
ListClienteBean cli;
while (rs.next()){
cli = new ListClienteBean();
cli.setCodigo(rs.getInt("codigo"));
cli.setNome(rs.getString("nome"));
cli.setEndereco(rs.getString("endereco"));
cli.setBairro(rs.getString("bairro"));
cli.setCep(rs.getString("cep"));
cli.setData_emprestimo(rs.getString("data_emprestimo"));
cli.setData_nascimento(rs.getString("data_nascimento"));
cli.setNumbeneficio(rs.getString("numbeneficio"));
cli.setTelefone(rs.getString("telefone"));
cli.setCidade(rs.getString("cidade"));
cli.setCpf(rs.getString("cpf"));
cli.setTipobeneficio(rs.getString("tipobeneficio"));
cli.setUF(rs.getString("UF"));
cli.setSalario(rs.getString("salario"));
cli.setCpf(rs.getString("cpf"));
cli.setRg(rs.getString("rg"));
cli.setNum(rs.getString("num"));
listclientes.add(cli);
}
bd.desconectar();
}
catch(Exception e){
e.printStackTrace();
}
return listclientes;
}
depois na classe ListClientes que é o form fica assim: