Inserir data do JDateChooser no banco de dados

3 respostas
T
Eu comecei a usar a pouco tempo o JCalendar e estou com a seguinte dúvida: como eu faço para pegar a data que eu seleciono no JDateChooser e inserir ela num BD e depois pegar esta data novamente e setar no jDateChoser? Antes eu usava um jTextField e conseguia fazendo assim:
//CLASSE LIVROSBEAN
//Classe dos métodos get e set
private String data_compra;
public void setData_compra(String data_compra) {
        this.data_compra = data_compra;
    }
//CLASSE LIVROSACTION
// Eu não coloquei aqui toda aquela parte do preparedStatement (que eu também faço) pois não achei necessária:
// Puxa o setData_compra da classe LivrosBean
LivrosBean add = new LivrosBean();
// Pega a data de um jTextField, converte para formato BD e adiciona no banco
add.setData_compra(formatDate(jTF_dataCompra.getText()));

//Este é o método formatDate que eu usava para passar as data para o formato do BD
//MÉTODO FORMATDATE
// Passa datas no formato dd/MM/yyyy para yyyy-MM-dd
    public static String formatDate(String data){
        String date =new String();
      
            date+=data.substring(6,10);
            date+="-"+data.substring(3,5)+"-";
            date+=data.substring(0,2);
              
       return date;
    }
Bem, agora eu tenho de fazer um método parecido com o ai de cima para inserir o campo yyyy-MM-dd no meu BD. O método que eu tentei fazer foi:
add.setData_compra(camp.formatDate(jDC_dataCompra.getDateFormatString()) );
Então, como eu faço para pegar a data que eu escolho no meu JDateChooser e convertê-la para o formato yyyy-MM-dd para inserir no meu bd?

E aqui era o método que eu usava para preencher o meu jTextField com a minha data do BD. Aqui vale lembrar que eu seleciono uma linha da minha tabela e quando esta é selecionada, vários campos jTextField são preenchidos, como nome do livro, ano, isbn, etc (estou fazendo um sistema para uma livraria)

jTF_dataCompra.setText(formatDateSQL(contatos.get(tabela.getSelectedRow()).getData_compra()));
E aqui como eu tentei preencher a data do jDateChoser jDCDataCompra, mas este método não funcionou:
jDCDataCompra.setDateFormatString(formatDateSQL(contatos.get(tabela.getSelectedRow()).getData_compra()));
            
//MÉTODO formatDateSQL
// Passa datas no formato yyyy-MM-dd para dd/MM/yyyy
    public static String formatDateSQL(String data){
        String date =new String();

            date+=data.substring(8,10);
            date+="/"+data.substring(5,7);
            date+="/"+data.substring(0,4);
       return date;
}

3 Respostas

E

Veja este tópico, vai lhe ajudar,

http://www.guj.com.br/java/257467-salva-data-mas-mostra-outra-diferente-do-que-foi-salvo#1341358

T

Eu vou tentar, mas vale lembrar que eu estou usando um JDateChooser e não uma área de texto normal. Eu fazia algo semelhante ao link que tu me passou Evandro, mas não estava funcionando. Vamos ver se com o SimpleDateFormat funciona.

Dani_Gomes

Dá uma olhada neste link:
http://www.javasimples.com.br/swing-awt/adicionando-jcalendar-e-jdatechooser-paleta-do-netbeans/
Você adicionou a sua paleta o jcalendar e os outros componentes?
O seus jdatechoose aparece na sua tela?
Abraços

Criado 15 de novembro de 2011
Ultima resposta 16 de nov. de 2011
Respostas 3
Participantes 3