trabajo con MySQL Server 5
NetBeans 6.9.1
y el famoso jCalendar de http://www.toedter.com/en/jcalendar/index.html
con el jDateChooser
el asunto es que en la BD trabajo las fechas como Date y esta almacenado así el dato 2010-11-17
si bien puedo rescatar la fecha de la BD y ponerla en el jDateChooser pero no puedo guardar o modificar una fecha desde el jDateChooser a la DB.
no se si queda claro, acá van los códigos.
Clase Garantia
Código PHP:
package Clases;
import java.sql.Date;
public class Garantia {
int Num_Orden;
private Date Fecha_Garantia;
private String Poliza;
private String Factura_Boleta;
private String Aut_Garantia;
//Constructor todo null o 0
public Garantia() {
Num_Orden = 0;
Fecha_Garantia = null;
Poliza = null;
Factura_Boleta = null;
Aut_Garantia = null;
}
//Getters and Setters
public void setNum_Orden(int Num_Orden) {this.Num_Orden = Num_Orden; }
public void setPoliza(String Poliza) {this.Poliza = Poliza; }
public void setFactura_Boleta(String Factura_Boleta) {this.Factura_Boleta = Factura_Boleta; }
public void setAut_Garantia(String Aut_Garantia) {this.Aut_Garantia = Aut_Garantia; }
public void setFecha_Garantia(Date Fecha_Garantia) {this.Fecha_Garantia = Fecha_Garantia; }
public int getNum_Orden() {return Num_Orden; }
public String getFactura_Boleta() {return Factura_Boleta; }
public String getPoliza() {return Poliza; }
public String getAut_Garantia() {return Aut_Garantia; }
public Date getFecha_Garantia() {return Fecha_Garantia; }
}
Código PHP:
package DAO;
import BaseDeDatos.JDBCmysql;
import Clases.Garantia;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class GarantiaDAO {
//Busca si existe la garantia y inserta los datos en la clase para ser cargados luego en el frame
public void Buscar(Garantia garantia, Garantia garantia1) throws SQLException{
try {
String sql = "Select * from Garantia where Guia_Num_Orden=?";
PreparedStatement stmt = JDBCmysql.getConexao().prepareStatement(sql);
stmt.setInt(1, garantia.getNum_Orden());
ResultSet rs = stmt.executeQuery();
while(rs.next()){
garantia1.setNum_Orden(rs.getInt("Guia_Num_Orden"));
garantia1.setPoliza(rs.getString("Poliza"));
garantia1.setFactura_Boleta(rs.getString("Factura_Boleta"));
garantia1.setFecha_Garantia(rs.getDate("Fecha"));
garantia1.setAut_Garantia(rs.getString("Aut_Garantia"));
}
rs.close();
stmt.close();
} catch (SQLException ex) {
System.out.println(ex);
}
}
//Primero busca si existe la garantia a modificar y de ser asi modifica los datos de la garantia
public void Modificar(Garantia garantia) throws SQLException{
try {
Garantia garantia1 = new Garantia();
String sql = "Select Guia_Num_Orden from Garantia where Guia_Num_Orden =?";
PreparedStatement stmt = JDBCmysql.getConexao().prepareStatement(sql);
stmt.setInt(1, garantia.getNum_Orden());
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
garantia1.setNum_Orden(rs.getInt("Guia_Num_Orden"));
}
if (garantia.getNum_Orden() == garantia1.getNum_Orden()) {
sql = "update garantia set Poliza=?, Factura_Boleta=?, Fecha=?, Aut_Garantia=? where Guia_Num_Orden=?";
stmt = JDBCmysql.getConexao().prepareStatement(sql);
stmt.setString(1, garantia.getPoliza());
stmt.setString(2, garantia.getFactura_Boleta());
stmt.setDate(3, garantia.getFecha_Garantia());
stmt.setString(4, garantia.getAut_Garantia());
stmt.setInt(5, garantia.getNum_Orden());
stmt.execute();
stmt.close();
JOptionPane.showMessageDialog(null, "Garantía Modificada", "Aviso", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Numero de Guía no corresponde", "Aviso", JOptionPane.ERROR_MESSAGE);
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
public void Guardar(Garantia garantia, Garantia garantia1){
//falta hacer
}
}
Código PHP:
private void btn_ModificarActionPerformed(java.awt.event.ActionEvent evt) {
try {
Garantia garantia = new Garantia();//creo clase garantia
GarantiaDAO garantiaDAO = new GarantiaDAO();//creo garantiaDAO
garantia.setNum_Orden(Integer.parseInt(txt_NOrdenGuia.getText()));//ingreso Nº Orden Guia a la clase garantia
garantia.setPoliza(txt_Poliza.getText());//ingreso Poliza a la clase garantia
System.out.println("Fecha :" + dc_FechaGarantia.getDate());//el sout me arroja Fecha :Fri Nov 19 00:00:00 CLST 2010
/*ERROR*/ garantia.setFecha_Garantia(dc_FechaGarantia.getDate());
//requiere java.sql.Date //found java.util.Date
garantia.setFactura_Boleta(txt_FacturaBoleta.getText());//ingreso Nº Orden Guia a la clase garantia
garantia.setAut_Garantia(txt_AutGarantia.getText());
garantiaDAO.Modificar(garantia);
} catch (SQLException ex) {
Logger.getLogger(IG_Garantia.class.getName()).log(Level.SEVERE, null, ex);
}
}
//Funciona todo bien aca
private void btn_BuscarActionPerformed(java.awt.event.ActionEvent evt) {
try {
Garantia garantia = new Garantia();
Garantia garantia1 = new Garantia();
GarantiaDAO garantiaDAO = new GarantiaDAO();
garantia.setNum_Orden(Integer.parseInt(txt_NOrdenGuia.getText()));
garantiaDAO.Buscar(garantia, garantia1);
if (garantia.getNum_Orden() == garantia1.getNum_Orden()) {
txt_NOrdenGuia.setText(String.valueOf(garantia1.getNum_Orden()));
txt_Poliza.setText(garantia1.getPoliza());
txt_FacturaBoleta.setText(garantia1.getFactura_Boleta());
dc_FechaGarantia.setDate(garantia1.getFecha_Garantia());
txt_AutGarantia.setText(garantia1.getAut_Garantia());
JOptionPane.showMessageDialog(null, "Garantía encontrada", "Aviso", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Numero de Guía no encontrado", "Aviso", JOptionPane.ERROR_MESSAGE);
}
} catch (SQLException ex) {
Logger.getLogger(IG_Garantia.class.getName()).log(Level.SEVERE, null, ex);
}
}