Java - Botón "Modificar" - Error.

 
Vista:
Imágen de perfil de Alejo
Val: 12
Ha disminuido su posición en 24 puestos en Java (en relación al último mes)
Gráfica de Java

Botón "Modificar" - Error.

Publicado por Alejo (6 intervenciones) el 24/01/2020 21:10:56
Buenos días, tardes y noches gente linda.

Estoy trabajando en un pequeño proyecto donde el usuario puede cargar stocks al depósito y del mismo depósito, enviarlos. El hecho es que en este caso, andaba programando la acción de un botón que modificaría los campos de los productos ya cargados en el depósito. Al terminar, probé haciendo una modificación a uno de los stocks y pasó esto:

IMAGEN DE BASE DE DATOS.

error2

AQUÍ EL CÓDIGO.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//Var.
String sql,n_stock;
int e_stock,p_stock,t_stock,up_load_stock;
 
 
 
n_stock = query_stock1.getText();
e_stock = Integer.parseInt(query_entry1.getText());
p_stock = Integer.parseInt(query_lost1.getText());
t_stock = Integer.parseInt(query_quantity1.getText());
sql = "UPDATE deposito SET suministros = ?, entrada = ?, perdida = ?, total = ?";
 
try {
 
    PreparedStatement ps = con.prepareStatement(sql);
    ps.setString(1, n_stock);
    ps.setInt(2, e_stock);
    ps.setInt(3, p_stock);
    ps.setInt(4, t_stock);
 
    up_load_stock = ps.executeUpdate();
 
 
} catch (Exception e) {
   JOptionPane.showMessageDialog(null,"Error al modificar los datos");
}

Sospecho que debe ser un error en la consulta o algo muy simple, en caso de ser así, ¿cuál seria el error?
Desde ya, gracias por sus aportes.

PD: Llevo muchas horas con esto, estoy prendiéndome fuego.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Botón "Modificar" - Error.

Publicado por Franklin (179 intervenciones) el 24/01/2020 21:48:15
Que tal Alejo, para el <Update> recuerda requieres indicar la clausula <WHERE> para indicar en que posición o item realizarás el cambio.

1
2
3
4
5
6
7
8
9
sql = "UPDATE deposito SET suministros = ?, entrada = ?, perdida = ?, total = ? WHERE id_stock = ? ";
 
 
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, n_stock);
ps.setInt(2, e_stock);
ps.setInt(3, p_stock);
ps.setInt(4, t_stock);
ps.setInt(5,valorID);// indicas la llave que modificaras


Como adicional podrías validar que el texto recibido en los TextField sean números, así evitas errores de parseo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Alejo
Val: 12
Ha disminuido su posición en 24 puestos en Java (en relación al último mes)
Gráfica de Java

Botón "Modificar" - Error.

Publicado por Alejo (6 intervenciones) el 25/01/2020 08:57:35
Franklin, me funcionó. Tienes razón, gracias por ayudarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar