todo estaba bien en mi base de datos, podia consultar y guardar registros, hasta que decidi empezar a actualizar utlizando el comando UPDATE; el programa esta hecho en el lenguaje java, cuando intento actualizar el registro me tira el siguiete error: java.sql.SQLException : parameter index out of range (5> number of parameters, with is 4). el nombre de la tabla es producto y tiene 5 campos: id, nombre, proveedor, precio, cantidad; todos los campos son tipo varchar.
el codigo del boton modificar es el siguiente:
String sSQL = ""; conectate mysql = new conectate(); Connection cn = mysql.getConnection(); String Id, nom, prov, pre , cant; Id= txtid.getText(); nom= nombre.getText(); prov= proveedor.getText(); pre= precio.getText(); cant= cantidad.getText();
sSQL = "UPDATE producto " + "SET nombre = ?," + "proveedor = ?," + "precio = ?," + "cantidad = ?," + "WHERE id = "+id_actualizar; /** id_actualizar es una variable de clase y se implementa en el metodo BuscarEditar(String id) donde toma el valor del parametro de dicho metodo*/ String mensaje = "Los datos se han Modoficado de Manera Satisfactoria...";
try { PreparedStatement pst = cn.prepareStatement(sSQL);// con esta sentencia se insertan los datos en la base de datos pst.setString(1, Id); pst.setString(2, nom); pst.setString(3, prov); pst.setString(4, pre); pst.setString(5, cant); int n = pst.executeUpdate();//valida si se guardaron los datos; si pst>0 entonces se guardaron
if(n > 0) { JOptionPane.showMessageDialog(null, mensaje); CargarTabla("");//l momento de agregar un nuevo registro, actualiza la tabla } } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex); } he estado investigando y no se q mas hacer espero me ayuden, gracias.
todo estaba bien en mi base de datos, podia consultar y guardar registros, hasta que decidi empezar a actualizar utlizando el comando UPDATE; el programa esta hecho en el lenguaje java, cuando intento actualizar el registro me tira el siguiete error:
java.sql.SQLException : parameter index out of range (5> number of parameters, with is 4).
el nombre de la tabla es producto y tiene 5 campos: id, nombre, proveedor, precio, cantidad; todos los campos son tipo varchar.
el codigo del boton modificar es el siguiente:
String sSQL = "";
conectate mysql = new conectate();
Connection cn = mysql.getConnection();
String Id, nom, prov, pre , cant;
Id= txtid.getText();
nom= nombre.getText();
prov= proveedor.getText();
pre= precio.getText();
cant= cantidad.getText();
sSQL = "UPDATE producto " +
"SET nombre = ?," +
"proveedor = ?," +
"precio = ?," +
"cantidad = ?," +
"WHERE id = "+id_actualizar;
/** id_actualizar es una variable de clase y se implementa en el metodo BuscarEditar(String id) donde toma el valor del parametro de dicho metodo*/
String mensaje = "Los datos se han Modoficado de Manera Satisfactoria...";
try
{
PreparedStatement pst = cn.prepareStatement(sSQL);// con esta sentencia se insertan los datos en la base de datos
pst.setString(1, Id);
pst.setString(2, nom);
pst.setString(3, prov);
pst.setString(4, pre);
pst.setString(5, cant);
int n = pst.executeUpdate();//valida si se guardaron los datos; si pst>0 entonces se guardaron
if(n > 0)
{
JOptionPane.showMessageDialog(null, mensaje);
CargarTabla("");//l momento de agregar un nuevo registro, actualiza la tabla
}
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog(null, ex);
}
he estado investigando y no se q mas hacer espero me ayuden, gracias.