2014-03-08 2 views
0

Мне нужно преобразовать строку в дату, чтобы позволить мне вставить информацию в тузд таблице:Преобразовать Строка Дата MySQL

Я попытался это:

System.out.println("Escribe la fecha de nacimiento de socio:"); 
//Traduction to english:  set the date of birthday // 

String fechaSocio = sc.next(); 

Date fecha = null; 
try { 
    fecha = new SimpleDateFormat("ddMMyyyy").parse(fechaSocio); 
} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

, но это преобразование так: Thu Mar 21 00:00:00 CET 1996

мне нужно преобразовать к следующему:

01-01-1987 или 01011987

public class SocioDao { 
static ClaseConexion conexion = new ClaseConexion(); 

общественного недействительными insertar (Социально misocio) {

System.out.println(misocio.getDATA_NAIXEMENT()); 
System.out.println(".........................."); 


    try { 

     Statement statuo = conexion.getConnection().createStatement(); 


     statuo.executeUpdate("insert into socis(CODI_SOCI,DNI,NOM,COGNOMS," 
       + "DATA_NAIXEMENT,ADRECA,POBLACIO,TELEFON) values ('" 
       + misocio.getCODI_SOCI() + "','" + misocio.getDNI() 
       + "',' " + misocio.getNOM() + "','" + misocio.getCOGNOMS() 
       + "','" + misocio.getDATA_NAIXEMENT() + "','" 
       + misocio.getADREÇA() + "','" + misocio.getPOBLACIO() 
       + "','" + misocio.getTELEFON() + "')"); 

     statuo.close(); 
     conexion.desconectar(); 
     System.out.println("Socio añadido correctamente"); 

    } catch (Exception e) { 
     System.out.println("No se puede añadir un nuevo socio"); 




    } 

} 

}

+0

Вы только показали нам синтаксический анализ. Вы не показали нам, как вы пытаетесь установить дату в запросе MySQL. –

+0

Где находится 'Thu Mar 21 00:00:00 CET 1996' от? – rpozarickij

ответ

4

Похоже, вы пытаетесь пропускать Date как String в запросе MySQL.

Нельзя. Вместо этого используйте соответствующий метод установки даты в классе PreparedStatement.

Помните, a Date не имеет формата. Формат предназначен только для отображения даты.

+1

См. [Этот другой ответ BalusC] (http://stackoverflow.com/a/7626080/642706) для примера того, что предлагает этот ответ. –

0

Использование функции MySQL, если вы пытаетесь вставить дату в базе данных ..

, например:

INSERT INTO test (sampledate) VALUES (CURDATE()); 
Смежные вопросы