[RESOLVIDO]jDateChooser PESQUISA

5 respostas
M

Boas a todos.

Eu estou a fazer um programa especie de gestão de stock e queria por exemplo ver as saidas e entradas de material de uma determinada data, por exemplo 2013/4/1 até 2013/4/30. O meu problema é que já pesquisei e nao consigo encontrar nada que me ajude, já consegui meter a data na base de dados quando estou a dar entrada ou saida de material mas agora quando quero ver os relatorios da saida ou entrada nao sei.

Penso que é um between entra a data1 e data2 e depois mostrar a informacao numa tabela mas nao estou mesmo a conseguir nada.

5 Respostas

drsmachado

Teu pensamento está correto.

M

E sabe alguma maneira de por isto a dar?? Eu tenho tentado assim:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String data1=jDateChooser1.getDateFormatString();
    String data2=jDateChooser2.getDateFormatString();
   
    
    try{
        String sql="select * from saidamat where data_saida between '"+data1+"' and '"+data2+"' ";
        pst=con.prepareStatement(sql);
        rs=pst.executeQuery();
        
        jTable1.setModel(DbUtils.resultSetToTableModel(rs));   
    }
    catch(Exception e){        
    } 
}
M

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

String data1=jDateChooser1.getDateFormatString();
    String data2=jDateChooser2.getDateFormatString();
   
    
    try{
        String sql="select * from saidamat where data_saida between '"+data1+"' and '"+data2+"' ";
        pst=con.prepareStatement(sql);
        rs=pst.executeQuery();
        
        jTable1.setModel(DbUtils.resultSetToTableModel(rs));   
    }
    catch(Exception e){
        
    }
    
}

Tenho assim mas nao esta a dar resultado.

drsmachado

Bom, eu prefiro PreparedStatement da forma correta e não uso Strings para consultas com datas

java.util.Date dataIni = jDateChooser1.getDate();
java.util.Date dataFim = jDateChooser2.getDate();

String sql = "SELECT * FROM saidamat WHERE data_saida between ? AND ?";
pst = con.prepareStatement(sql);
pst.setDate(1, new java.sql.Date(dataIni.getTime()));
pst.setDate(2, new java.sql.Date(dataFim.getTime()));
pst.execute();
ResultSet rs = pst.getResultSet();
//continue daqui
M

Muito obrigado drsmachado ja esta a dar que nem uma maravilha, houve algumas “burrices” minhas como na String, como quando foi para inserir a data na BD meti pst.setString… pensei que era mais ou menos o caso aqui mas muito obrigado mesmo

Criado 9 de abril de 2013
Ultima resposta 9 de abr. de 2013
Respostas 5
Participantes 2