[RESOLVIDO]Problemas com date padrao americano

Galera, estou usando phpmyadmin, ele só aceita a data padrão americano.

Como eu faço para que quando eu digitar no textfield o padrão brasileiro ele aceitar inserir no banco como padrao americano.
Se eu não me engano, não tem como mudar esse padrão do banco.

A minha classe cliente a data e String,pq só consegui inserir como string como padrão americano, é ele só mostra a pesquisa tmb como padrão americano.

Muito obrigado a quem me ajudar.

Errado, o phpMyAdmin apenas restringe a forma de entrada de dados de uma coluna do tipo DATE com o padrão para o qual o MySQL aceita, ou seja, o SQL DATE (yyyy-MM-dd).
Não tem como mudar.
E outro erro que você comete é tentar inserir Date como String (varchar). Um erro crasso de quem não quer pesquisar por preguiça.

Eu tentei fazer com date , deu certo na classe dao e o controle. mas só que nos botões salva e edita esta dando erro. por que não consigo converter para date ou algo do tipo.

Botão Salvar.


    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
          
              ControladorCliente    controle = new ControladorCliente();  
      
              String nome = this.jTNome.getText();  
              String telefone = this.jFTelefone.getText();  
              String cpf = this.jFCPF.getText();  
              String email = this.jTEmail.getText();  
              Date datanascimento = this.jFDatanascimento.getText();  ERRO   //tentei assim tmb,       (  Date datanascimento = Date.valueOf(this.jFDatanascimento.getText());)
              String observacao = this.jTObservacao.getText();  
              String endereco = this.jTEndereco.getText();  
              String cidade = this.jTCidade.getText();  
          try {  
              controle.adicionar(nome, telefone, cpf, email,datanascimento, observacao, endereco, cidade);  
          } catch (SQLException ex) {  
              Logger.getLogger(janelaCadastroCliente.class.getName()).log(Level.SEVERE, null, ex);  
          }  
          



E editar.Nao estou conseguindo passar o valor de text para date .

view plaincopy to clipboardprint?

    public janelaEditarCliente(String nome,String telefone,  
              String cpf,String email,String datanascimento,  
              String observacao,String endereco,String cidade) {  
          initComponents();  
            
          this.jTNome.setText(nome);  
          this.jFTelefone.setText(telefone);  
          this.jFCPF.setText(cpf);  
          this.jTEmail.setText(email);  
          this.jFDatanascimento.getText(datanascimento));  ERRO   ERRO   //tentei assim tmb,       (  Date datanascimento = Date.valueOf(this.jFDatanascimento.getText());)
          this.jTObservacao.setText(observacao);  
          this.jTEndereco.setText(endereco);  
          this.jTCidade.setText(cidade);  
      
      }   

Pelo que percebi do seu comentário você esta certo, não se pode inserir date como string.
por que , eu vou ter que usar o date na hora de inseir no textfild para converter e inserir no banco , se não me engano.

Há algumas opções para isto. A mais inteligente é usar o JDateChooser, um componente do JCalendar, que representa um date picker. Com ele você consegue trabalhar diretamente com objetos java.
A outra solução é criar um método que permita converter de String para Date. Se optar por essa abordagem, terá que estudar um pouco de DateFormat e SimpleDateFormat.

Vou testar as duas formas que você me indico e tentar implementar.

Obrigado.

Eu consegui inserir a data perfeitamente com formato brasileiro ,o modelo o dao e controle esta tudo com date perfeito, o botão inserir esta funcionando.

Mas quando chega na parte do editar eu não consigo passar a String para date.

EDITAR

[code]

public janelaEditarCliente(String nome,String telefone,
        String cpf,String email,String datanascimento,
        String observacao,String endereco,String cidade) {
    initComponents();
    
    this.jTNome.setText(nome);
    this.jFTelefone.setText(telefone);
    this.jFCPF.setText(cpf);
    this.jTEmail.setText(email);
    this.jFDatanascimento.setText(datanascimento);  ERROO!!
    this.jTObservacao.setText(observacao);
    this.jTEndereco.setText(endereco);
    this.jTCidade.setText(cidade);

} 
[/code]

Aqui esta meu salvar. Esta funcionando.

[code]

ControladorCliente controle = new ControladorCliente();

        String nome = this.jTNome.getText();
        String telefone = this.jFTelefone.getText();
        String cpf = this.jFCPF.getText();
        String email = this.jTEmail.getText();
        Date  datanascimento = new java.util.Date(this.jFDatanascimento.getText());
        String observacao = this.jTObservacao.getText();
        String endereco = this.jTEndereco.getText();
        String cidade = this.jTCidade.getText();
    try {
        controle.adicionar(nome, telefone, cpf, email,datanascimento , observacao, endereco, cidade);
    } catch (SQLException ex) {
        Logger.getLogger(janelaCadastroCliente.class.getName()).log(Level.SEVERE, null, ex);
    }
  
  [/code]

Preciso que alguém me ajuda na parte de editar.

obrigado!.

Date d = new Date();
		SimpleDateFormat sfd = new SimpleDateFormat("yyyy/MM/dd");
		
		System.out.println(sfd.format(d));

o Meu problema e nessa parte.

  this.jFDatanascimento.setText(datanascimento); Esta dano erro aqui . Nao consigo passar para date, só aceita string

Você me mostro essa instância, como eu poderia estar usando no meu construtor.

estou tentando usar ela mas não estou conseguindo.

obrigado!.

Esqueci de mostrar o construtor completo.

   public janelaEditarCliente() {
        initComponents();
    }

    public janelaEditarCliente(String nome,String telefone,
            String cpf,String email,String datanascimento,
            String observacao,String endereco,String cidade) {
        initComponents();
        
   
        this.jTNome.setText(nome);
        this.jFTelefone.setText(telefone);
        this.jFCPF.setText(cpf);
        this.jTEmail.setText(email);
        this.jFDatanascimento.setText(datanascimento); // Esta dano erro aqui . Nao consigo passar para date, só aceita string

        this.jTObservacao.setText(observacao);
        this.jTEndereco.setText(endereco);
        this.jTCidade.setText(cidade);
   
    } 
   SimpleDateFormat sfd = new SimpleDateFormat("yyyy/MM/dd");       //
        sfd.parse(jFDatanascimento.setText(datanascimento));// Esta dando erro tmb , ('void' type not allowed here);Acusa que não pode ter um void 
        this.jTObservacao.setText(observacao);
        this.jTEndereco.setText(endereco);
        this.jTCidade.setText(cidade);

Esta difícil não estou conseguindo resolver isso.

Preciso que alguém me ajude.Obrigado!

Galera Resolvido , Obrigado a aqueles q me ajudaram.

Aqui esta o código para futuras pesquisas.

A única forma foi passar data para string , tive que criar um método .


   public janelaEditarCliente() {
        initComponents();
    }

    public janelaEditarCliente(String nome,String telefone,
            String cpf,String email,Date datanascimento,
            String observacao,String endereco,String cidade)  {
        initComponents();
        
        
       
        this.jTNome.setText(nome);
        this.jFTelefone.setText(telefone);
        this.jFCPF.setText(cpf);
        this.jTEmail.setText(email);
        
        jFDatanascimento.setText(converteData(datanascimento));
        
        this.jTObservacao.setText(observacao);
        this.jTEndereco.setText(endereco);
        this.jTCidade.setText(cidade);
   
    } 
    
        protected String converteData(java.util.Date dtData) {  
       SimpleDateFormat formatBra;     
       formatBra = new SimpleDateFormat("dd/MM/yyyy");  
  
          java.util.Date newData = null;  
        try {
            newData = formatBra.parse(dtData.toString());
        } catch (ParseException ex) {
            Logger.getLogger(janelaEditarCliente.class.getName()).log(Level.SEVERE, null, ex);
        }
          return (formatBra.format(newData));  
     
    }