Hola, segui los pasos como los menciona el instructor sin embargo al corregir el paréntesis de VALUE (en productocontroller), me despliega el siguiente error al tratar de ingresar los datos del vaso y por ende no me captura nada el error completo es el siguiente:
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('Vaso', 'Vaso de cristal', 10)' at line 1
Ya revise y revise el código tanto de producto controller, control de stock frame y control de stock main y en teoría todo esta de acuerdo a los pasos del instructor, mucho agradecere su apoyo incluyo codigo
Main
package com.alura.jdbc;
import javax.swing.JFrame;
import com.alura.jdbc.view.ControlDeStockFrame;
public class ControlDeStockMain {
public static void main(String[] args) {
ControlDeStockFrame productoCategoriaFrame = new ControlDeStockFrame();
productoCategoriaFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Control Stock Frame
// TODO
var producto = new HashMap<String, String>();
producto.put("NOMBRE", textoNombre.getText());
producto.put("DESCRIPCION", textoDescripcion.getText());
producto.put("CANTIDAD", String.valueOf(cantidadInt));
var categoria = comboCategoria.getSelectedItem();
try {
this.productoController.guardar(producto);
} catch (SQLException e) {
throw new RuntimeException(e);
}
JOptionPane.showMessageDialog(this, "Registrado con éxito!");
Producto Controller
public void guardar(Map<String, String> producto) throws SQLException {
Connection con = new ConnectionFactory().recuperaConexion();
Statement statement = con.createStatement();
statement.execute("INSERT INTO PRODUCTO (nombre, descripcion, cantidad"
+ "VALUES('" + producto.get("NOMBRE") + "', '"
+ producto.get("DESCRIPCION") + "', "
+ producto.get("CANTIDAD") + ")", Statement.RETURN_GENERATED_KEYS);
ResultSet resultSet = statement.getGeneratedKeys();
while (resultSet.next()) {
System.out.println(
String.format("Fue insertado el producto con el ID %d" ,
resultSet.getInt(1)));
}
}