Buenas,
No comentas cual es la excepción que te da, que es fundamental para saber que pasa.
Respecto al ID, creo que no has entendido bien lo que te ha dicho choces en Javahispano.
Lo que él te trata de decir es lo que te digo yo también al final de mi post. NO COMPRUEBAS SI SE HA MODIFICADO ALGO O NO. Aún así, muestras un mensaje siempre indicando que se ha modificado.
Pongamos que en tu tabla de productos tienes tres elementos con ID 1, 2 y 3. Luego haces un update utilizando un WHERE id=15 . Esa consulta no te va a dar ningún tipo de error ni excepción. Se va a ejectura correctamente pero te va a indicar que no se ha actualizado ningún elemento.
Para que lo entiendas bien, prueba este código modificado:
Código Java:
Ver originalpublic void modificarArticulo
(int id,
String nombre,
String descripcion,
int stockMinimo,
int stockActual
) { // set the preparedstatement parameters
try { // create our java preparedstatement using a sql update query
ps = miConexion.prepareStatement("UPDATE productos SET "
+ "nombre = ?, "
+ "descripcion = ?, "
+ "stockMinimo = ?, "
+ "stockActual = ? "
+ "WHERE id = ?");
// set the preparedstatement parameters
ps.setString(1, nombre);
ps.setString(2, descripcion);
ps.setInt(3, stockMinimo);
ps.setInt(4, stockActual);
ps.setInt(5, id);
JOptionPane.
showMessageDialog(null,
"Los datos a actualizar son:\n \n " + "Indice '"+id+"'\n "
+ "Nombre '"+nombre+"'\n "
+ "Descripcion '"+descripcion+"'\n "
+ "Stock Minimo '"+stockMinimo+"'\n "
+ "Stock Actual '"+stockActual+"'");
JOptionPane.
showMessageDialog(null,
"RECUERDA: vas a modificar el elemento con ID: " + id
+ ". Verifica que existe en la base de datos un registro con dicho ID");
// call executeUpdate to execute our sql update statement
int filasModificadas = ps.executeUpdate();
if (filasModificadas == 0) {
JOptionPane.
showMessageDialog(null,
"No se ha actualizado ningún registro"); } else {
JOptionPane.
showMessageDialog(null,
"Datos actualizados correctamente"); }
}
JOptionPane.
showMessageDialog(null,
"No se pudo actualizar el registro"); } finally {
if (ps != null) {
ps.close();
}
}
}
Un saludo