Erro ao converter String em Date MySQL

4 respostas
F

Ola, implementei um trecho de codigo para converter uma String(de um textfield) no formato dd/MM/yyyy para o formato exigido pelo MySQL, a String é convertida, mas o resultado da conversao para 25/04/2009 por exemplo é 0030/09/30…
segue o codigo:

SQL = " insert into compras (cod,data,nf,serie,cdfor) values (?,?,?,?,?)";
                pstmt = Conexao1.getConnection().prepareStatement(SQL);
                pstmt.setInt(1, codcompraatt);
                String data=textdatacompra.getText();
                String formato = "yyyy/MM/dd";
                SimpleDateFormat dataformatada = new SimpleDateFormat(formato);
                Date hoje = dataformatada.parse(data);
                pstmt.setString(2,dataformatada.format(hoje));
                pstmt.setString(3,textnfcompra.getText());
                pstmt.setString(4,textserie.getText());                
                pstmt.setInt(5, cdfor);                
                pstmt.executeUpdate();

4 Respostas

skalinichenko
Foi você mesmo que colocou para ser apresentado nesse formato.
Flw!

Foi você mesmo que colocou para ser apresentado nesse formato.
Flw!

F

Exatamente, o meu objetivo eh converter o formato da string para poder inserir no formato padrao do mysql, mas o resultado da formatação esta sendo
0030/09/30…totalmente diferente do resultado desejado: 2009/04/25

fabbio_2k
/*o erro estava na tranformação 
		   * String data = "25/04/2009" para o SimpleDateFormat 
		   * tanto é que se eu colocar esta data ele me volta uma outra data
		   * e não a que eu passei.Logo temos que mudar o formato da dada 
		   * Antes de pasarmos para o SimpleDateFormat . Fiz isso desta formar : */ 

String d = "25/04/2009";//data exemplo
		   String [] d1 = d.split("/"); //separa o dia,mes e ano
		   String data = d1[2]+"/"+d1[1]+"/"+d1[0]; // colocando ano,mês e dia
		   String formato = "yyyy/MM/dd";  
		   SimpleDateFormat dataformatada = new SimpleDateFormat(formato);   
		   try {
			Date hoje = dataformatada.parse(data);
			String dat = dataformatada.format(hoje);
			System.out.println("VAlor da DATA : " + dat); 
			
		} catch (ParseException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
fabbio_2k

Espero que tenha resolvido o seu problema.

Criado 25 de abril de 2009
Ultima resposta 25 de abr. de 2009
Respostas 4
Participantes 3