Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/08/2011, 08:12
LilyV
 
Fecha de Ingreso: agosto-2011
Mensajes: 21
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: guardar fechas desde Netbeans en PostgreSQL

Ante todo gracias por responder...

He tratado de usar el método SimpleDateFormat pero no me ha funcionado...

Ademas utilizo un jFormattedTextField para el ingreso de la fecha, por lo que cree una clase para darle formato al campo como yo quiero.

Clase FormatoFecha.
public FormatoFecha() throws ParseException
{
// Las # son cifras y representa "dd-mm-yyyy "
super ("##-##-####");
}

/** Una clase adecuada para convertir Date a String y viceversa de forma cómoda. Puedes ver cómo se hace el patrón "dd/MM/yyyy" en la API.
El patrón que pongamos aquí debe cuadrar correctamente con la máscara que hemos puesto en el constructor */

private SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");

/** Convierte el texto del editor en un Date */
@Override
public Object stringToValue(String text) throws ParseException
{
return formato.parseObject(text);
}

/** Redibe un Date o null y debe convertirlo a texto que cumpla el patrón indicado anteriormente */
@Override
public String valueToString(Object value) throws ParseException
{
if (value instanceof Date)
return formato.format((Date)value);
return formato.format(new Date());
}
}


Luego inicie el jFormattedTextField como

JFormattedTextField textField = null;
try {
textField = new JFormattedTextField(new FormatoFecha());
} catch (ParseException ex) {
Logger.getLogger(GVaca.class.getName()).log(Level. SEVERE, null, ex);
}

textField.setValue(new Date());

Cuando se hace clic en el Botón guardar tomo el valor del campo así:

Date fechaNac1 = (Date) jFormattedTextField1.getValue();

y lo paso a un método que me guarda otros datos.

public void almacenarVaca(int rp1, String nombreV1, Date fechaNac1, int partos1, String vacunas1, String enfermedades1, String estado1, String establecimiento1)throws ClassNotFoundException, SQLException, ParseException{
rp = rp1;
nombreV = nombreV1;
fechaNac = fechaNac1;
partos = partos1;
vacunas = vacunas1;
enfermedades = enfermedades1;
estado = estado1;
establecimiento = establecimiento1;
int lineas_modi=0;
PreparedStatement consulta;

consulta = conexion.prepareStatement("INSERT INTO vaca(rp, nombreV, fechaNac, partos, vacunas, enfermedades, estado,establecimiento) VALUES (?, ?, ?, ?. ?, ?, ?, ?)");
try
{
consulta.setInt(1, rp);
consulta.setString(2, nombreV);
consulta.setDate(3,fechaNac );
consulta.setInt(4, partos);
consulta.setString(5, vacunas);
consulta.setString(6, enfermedades);
consulta.setString(7, estado);
consulta.setString(8, establecimiento);

lineas_modi = consulta.executeUpdate();
System.out.println("Los datos se guardaron correctamente");
}catch (Exception e)
{
System.out.println("Problema al consultar la bd -> " + e.getMessage());
}

cierraConexion();
}

y me da el siguiente error en el setDate:

cannnot find symbol.

Algo estoy haciendo mal pero no me doy cuenta que. como cuatro ojos valen mas que dos..pido por favor se fijen si encuentren el error..
Perdón por complicarle la mañana.
Saludos.