Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Problema Con La fecha

Estas en el tema de Problema Con La fecha en el foro de Java en Foros del Web. public String InsertManuales(String Mdoc ,int MRevVig , Date Mfecha , String MMotiv,String MArea){ String respuesta = null; try { Connection AccesoBd = conexion.getConexion(); CallableStatement cs ...
  #1 (permalink)  
Antiguo 04/04/2016, 09:03
 
Fecha de Ingreso: marzo-2016
Ubicación: Chillan
Mensajes: 13
Antigüedad: 8 años, 1 mes
Puntos: 0
Pregunta Problema Con La fecha

public String InsertManuales(String Mdoc ,int MRevVig , Date Mfecha , String MMotiv,String MArea){
String respuesta = null;

try {
Connection AccesoBd = conexion.getConexion();
CallableStatement cs =AccesoBd.prepareCall("Insert into manualessistgestion (Documento,RevVigente,Fecha,MotivoRevision,Area) values(?,?,?,?,?)");
cs.setString(1, Mdoc);
cs.setInt(2, MRevVig);
cs.setDate(3, (java.sql.Date) Mfecha);
cs.setString(4, MMotiv);
cs.setString(5, MArea);
int NFA= cs.executeUpdate();
if (NFA>0){
respuesta="Registro Ingresado";
}
else {
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Error MySQL: " + e);
}
return respuesta;

}



public void actionPerformed(ActionEvent e){

if(e.getSource()==VistaM.btnGuardarMA){
String Documento = VistaM.txtDoc.getText();
int RevVigente = Integer.parseInt(VistaM.txtRevVig.getText());
Date Fecha = Date.valueOf(VistaM.JscFechaMa.getToolTipText());
String MotivoRevision = VistaM.txtMotiRev.getText();
String Area = VistaM.txtAreaMa.getText();

String rp = ModeloM.InsertManuales(Documento, RevVigente, Fecha, MotivoRevision, Area);

if(rp!=null){
JOptionPane.showMessageDialog(null,rp);

}else {
JOptionPane.showMessageDialog(null,"Error MySQL: " + e);
}



}


La verdad es que no se si estoy haciendo bien la insercion de la fecha
  #2 (permalink)  
Antiguo 04/04/2016, 12:41
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema Con La fecha

Tienes que ingresar la fecha como un String y luego convertirla a sql.Date para introducirla.

Convendría añadir también algunas validaciones de formato.

Revisa la documentación de SimpleDateFormat.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 05/04/2016, 00:24
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Problema Con La fecha

Buenas,

El casting que haces no es correcto.
Tendrias que hacer algo como:
Código Java:
Ver original
  1. cs.setDate(3,  new java.sql.Date(Mfecha.getTime()));

Por otro lado estas utilizando un CallableStatement, que sirve para ejecutar procedimientos almacenados. En tu caso deberias utilizar un PreparedStatement.
https://docs.oracle.com/javase/tutor.../prepared.html

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: fecha, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:58.