Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Los datos de un jtable no se guardan en la base de datos

Estoy haciendo un sistema de abono ya esta todo realizado. Solo que tengo un pequeño detalle, al momento de abonar el sistema hace una resta para que sepa cuanto se adeuda, pero esa resta no se guarda en la base de datos. Todo los demas datos del jtable si se guardan. Quisiera que me apoyaran a revisar mi codigo, la sentencia de ingresar no se si lo estoy poniendo mal.


Alguien que me pueda ayudar porfavor.,,.. Anexo el codigo del boton abonar.

try {

String NºDeVenta = "";

String[] datos = new String[7];

int fila = tbAbono.getSelectedRow();

if (fila == -1) {
JOptionPane.showMessageDialog(null, "SELECCIONE EL PRODUCTO QUE DESEA ABONAR");
} else {

String NVenta = tbAbono.getValueAt(filas, 0).toString();
String UltimoAbo = tbAbono.getValueAt(filas, 1).toString();
String ClaArti = tbAbono.getValueAt(filas, 2).toString();
String Arti = tbAbono.getValueAt(filas, 3).toString();
String TV = tbAbono.getValueAt(filas, 4).toString();
String abo = txtAbono.getText();
String restante= tbAbono.getValueAt(filas, 6).toString();

datos[0] = NVenta;
datos[1] = UltimoAbo;
datos[2] = ClaArti;
datos[3] = Arti;
datos[4] = TV;
datos[5] = abo;
datos[6] = restante;

for (int i = 0; i < tbAbono.getColumnCount(); i++) {
modelo.setValueAt(datos[i], filas, i);}

restaa();

PreparedStatement pst = cn.prepareStatement("UPDATE abonos SET Fecha='"
+ txtFecha.getText() + "',IdArticulo='"
+ ClaArti + "',NombreArti='"
+ Arti + "',IdCliente='"
+ txtclaveclie.getText() + "',NombreClie='"
+ txtnombre.getText() + "',TotalDeVenta='"
+ TV + "',Restante='"
+ restante + "',Abono='"
+ txtAbono.getText() + "' WHERE IdVenta='" + NVenta + "'");
int n = pst.executeUpdate();
if (n > 0) {
JOptionPane.showMessageDialog(null, "EL ABONO SE REALIZO CORRECTAMENTE");
}

}//1

} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error al moemto de abonar", JOptionPane.ERROR_MESSAGE);
}

mayo 28, 2016 | Unregistered CommenterJosé Luis

No has publicado lo que hace ese método restaa()
Por otra parte, lo que actualizas en la base de datos es la variable restante, que no se ve dónde toma el valor de una resta.

mayo 28, 2016 | Registered Commenterchoces

checa si tu variable resta te esta devolviendo algún valor o si esta mandándote null;
system.out.printlh(resta);

mayo 30, 2016 | Unregistered CommenterArturo

Hola!! Una disculpa antes por no contestar y si es posible les dejo el código del método restaa(), si me pudieran orientar se los agradecería... he estado probando varias opciones, pero aun nada.

int restaa(){

int resultado=0;
int row = tbAbono.getSelectedRow();
if(row!= -1){
Object Abo = tbAbono.getValueAt(row, 5);
Object Res = tbAbono.getValueAt(row, 6);
int a = Integer.parseInt(Abo.toString());
int b = Integer.parseInt(Res.toString());
tbAbono.setValueAt(b-a, row, 6);

}
return (resultado);
}

junio 2, 2016 | Unregistered CommenterJosé Luis

Como te comentaba antes, sigo sin ver dónde incluyes el resultado de la resta en el comando SQL de más arriba.
¿Seguro que ese método restaa() está ejecutándose en la línea adecuada?.

junio 3, 2016 | Registered Commenterchoces

el detalle es que no estas mandando la variable resta en tu cadena sql por lo que aparece esta causando que no te guarde el dato en la base

junio 14, 2016 | Unregistered CommenterFrancisco Xavier