[RESOLVIDO]Jtextfield e campo data para mysql

Nao consigo converter o campo data para gravar no mysql.

ja tentei com parser e nao consigo.

Alguem pode me ajudar?


public void actionPerformed(ActionEvent e) 
	{
		
		if (e.getSource() == botao_gravar)
		{	
			try
			{			
				
			mysql_con.conectar = DriverManager.getConnection(mysql_con.url, mysql_con.user, mysql_con.senha);
			
			String sql = "insert into cliente(Nome,data_nasc,cpf,rg,fone,endereco) values (?,?,?,?,?,?)";
			
			
			
			PreparedStatement mysqlPreparedStatement = this.mysql_con.conectar.prepareStatement(sql);  
			
			

			
		    mysqlPreparedStatement.setString(1,txt_Nome.getText());
			mysqlPreparedStatement.setString(2, txt_dataNasc.getText());
			mysqlPreparedStatement.setString(3,txt_cpf.getText());
			mysqlPreparedStatement.setString(4,txt_rg.getText());
			mysqlPreparedStatement.setString(5,txt_fone.getText());
			mysqlPreparedStatement.setString(6,txt_end.getText());
			
			
			
			mysqlPreparedStatement.executeUpdate();
			
			

			botao_gravar.setEnabled(false);
			botao_novo.setEnabled(true);
			
				
			
			}
			catch (SQLException sqlException) {
				JOptionPane.showMessageDialog(null, "deu pau");
				System.out.println(sqlException);
			}
	}

		if (e.getSource() == botao_novo)
		{
			txt_Nome.setText("");
			txt_cpf.setText("");
			txt_dataNasc.setText("");
			txt_fone.setText("");
			txt_rg.setText("");
			txt_end.setText("");
			botao_gravar.setEnabled(true);
			botao_novo.setEnabled(false);
		}
	}
	
	public static void main(String args[]) {
		JFrame	Form_Cliente = new Formulario_Cliente();
		Form_Cliente.setVisible(true);

		
	}
	
	public MaskFormatter Mascara(String Mascara){  
        
	       MaskFormatter F_Mascara = new MaskFormatter();  
	       try{  
	           F_Mascara.setMask(Mascara); //Atribui a mascara  
	           F_Mascara.setPlaceholderCharacter(' '); //Caracter para preencimento   
	       }  
	       catch (Exception excecao) {  
	       excecao.printStackTrace();  
	       }   
	       return F_Mascara;  
	}   
	

seguinte,

use este metodo para retornar a data como ano/mes/dia

public class Datas{    
  public String formataDataRetornaBD(String data) throws ParseException{  
        //veja este metodo....ele recebe uma String como dia/mes/ano e retorna ano/mes/dia  
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");  
        Date d = df.parse(data);  
        df = new SimpleDateFormat("yyyy-MM-dd");  
        String s = df.format(d);  
        return s;  
    }  
}  
}

Para gravar faz assim.

String data = "31/08/2011";
PreparedStatement stm = conexao.prepareStatement("INSERT INTO tabela (data) VALUES (?)");
stm.setDate(1, java.sql.Date.valueOf(new Datas().formataDataRetornaBD(data)));
stm.executeUpdate();
stm.close();

T+ e boa sorte !

po vei valeu.

sou iniciante em java, programava em delphi e to penando nas modificacoes.

Calma calma…vc vai conseguir.

rsr…Eu tbm venho de outras linguagens C++/Delphi/VB/Python/ e agora JAVA (Eu amo o Java, paixão a primeira vista) ;-). Estude bastante e pesquise.
Estude as apostilas FJ11 e FJ21 da Caelum, saum otimas.

E faz o seguinte, antes de postar aqui no forum de uma olhada antes, pois tem vários topicos desse tipo de pergunta aqui.
e ainda da uma pesquisada no google antes tbm, sempre eh bom.

depois poste o q vc precisa, estamos aqui pra ajudar.

t+ e boa sorte !