如何使用 java netbeans 和 sqlservel 进行更新
How make a update using java netbeans and sqlservel
我想在 netbeans 和 sqlserver 中做一个 CRUD,我已经学会了如何进行插入和删除,但我无法解决 update.Help 请教我。
这些是我的代码:
名称数据库 abarrotes,table 产品。
方法更新:
public void ModificarProducto (Producto c){
try{
con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/abarrotes", "root", "123");
String sentencia = "UPDATE producto SET Nombre_Producto= ?, Marca_Producto = ?, Presentacion_Producto=?, Precio_Producto=?, Punto_de_Reorden = ?, Existencia = ? where Id_Producto=?;";
PreparedStatement pstm = con.prepareStatement(sentencia);
pstm.setInt(1, c.getId_Producto());
pstm.setString(2, c.getNombre_Producto());
pstm.setString(3, c.getMarca_Producto());
pstm.setString(4, c.getPresentacion_Producto());
pstm.setFloat(5, c.getPrecio_Producto());
pstm.setInt(6, c.getPunto_de_Reorden());
pstm.setInt(7, c.getExistencia());
pstm.execute();
pstm.close();
} catch(SQLException e){
System.out.println(e);
}
}
相框的按钮
OperacionesProducto basedatos = new OperacionesProducto();
private void Btn_InsertarActionPerformed(java.awt.event.ActionEvent evt) {
Producto prod = new Producto();
prod.setId_Producto(Integer.parseInt(Id_Producto.getText()));
prod.setNombre_Producto(Nombre_Producto.getText());
prod.setMarca_Producto(Marca_Producto.getText());
prod.setPresentacion_Producto(Presentacion_Producto.getText());
prod.setPrecio_Producto(Float.parseFloat(Precio_Producto.getText()));
prod.setPunto_de_Reorden(Integer.parseInt(Punto_de_Reorden.getText()));
prod.setExistencia(Integer.parseInt(Existencia.getText()));
basedatos.InsertarProducto(prod);
}
没有标记任何错误,但数据库没有更改
请帮帮我 :).
的顺序?查询字符串中的与设置命令的索引不匹配。我认为第一个需要放在最后,其他所有内容都向上移动以使所有名称匹配。更改为:
String sentencia = "UPDATE producto SET "
+ "Nombre_Producto= ?, "
+ "Marca_Producto = ?, "
+ "Presentacion_Producto=?, "
+ "Precio_Producto=?, "
+ "Punto_de_Reorden = ?, "
+ "Existencia = ? "
+ "where Id_Producto=?;";
PreparedStatement pstm = con.prepareStatement(sentencia);
pstm.setString(1, c.getNombre_Producto());
pstm.setString(2, c.getMarca_Producto());
pstm.setString(3, c.getPresentacion_Producto());
pstm.setFloat(4, c.getPrecio_Producto());
pstm.setInt(5, c.getPunto_de_Reorden());
pstm.setInt(6, c.getExistencia());
pstm.setInt(7, c.getId_Producto());
我想在 netbeans 和 sqlserver 中做一个 CRUD,我已经学会了如何进行插入和删除,但我无法解决 update.Help 请教我。
这些是我的代码: 名称数据库 abarrotes,table 产品。
方法更新:
public void ModificarProducto (Producto c){
try{
con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/abarrotes", "root", "123");
String sentencia = "UPDATE producto SET Nombre_Producto= ?, Marca_Producto = ?, Presentacion_Producto=?, Precio_Producto=?, Punto_de_Reorden = ?, Existencia = ? where Id_Producto=?;";
PreparedStatement pstm = con.prepareStatement(sentencia);
pstm.setInt(1, c.getId_Producto());
pstm.setString(2, c.getNombre_Producto());
pstm.setString(3, c.getMarca_Producto());
pstm.setString(4, c.getPresentacion_Producto());
pstm.setFloat(5, c.getPrecio_Producto());
pstm.setInt(6, c.getPunto_de_Reorden());
pstm.setInt(7, c.getExistencia());
pstm.execute();
pstm.close();
} catch(SQLException e){
System.out.println(e);
}
}
相框的按钮
OperacionesProducto basedatos = new OperacionesProducto();
private void Btn_InsertarActionPerformed(java.awt.event.ActionEvent evt) {
Producto prod = new Producto();
prod.setId_Producto(Integer.parseInt(Id_Producto.getText()));
prod.setNombre_Producto(Nombre_Producto.getText());
prod.setMarca_Producto(Marca_Producto.getText());
prod.setPresentacion_Producto(Presentacion_Producto.getText());
prod.setPrecio_Producto(Float.parseFloat(Precio_Producto.getText()));
prod.setPunto_de_Reorden(Integer.parseInt(Punto_de_Reorden.getText()));
prod.setExistencia(Integer.parseInt(Existencia.getText()));
basedatos.InsertarProducto(prod);
}
没有标记任何错误,但数据库没有更改
请帮帮我 :).
的顺序?查询字符串中的与设置命令的索引不匹配。我认为第一个需要放在最后,其他所有内容都向上移动以使所有名称匹配。更改为:
String sentencia = "UPDATE producto SET "
+ "Nombre_Producto= ?, "
+ "Marca_Producto = ?, "
+ "Presentacion_Producto=?, "
+ "Precio_Producto=?, "
+ "Punto_de_Reorden = ?, "
+ "Existencia = ? "
+ "where Id_Producto=?;";
PreparedStatement pstm = con.prepareStatement(sentencia);
pstm.setString(1, c.getNombre_Producto());
pstm.setString(2, c.getMarca_Producto());
pstm.setString(3, c.getPresentacion_Producto());
pstm.setFloat(4, c.getPrecio_Producto());
pstm.setInt(5, c.getPunto_de_Reorden());
pstm.setInt(6, c.getExistencia());
pstm.setInt(7, c.getId_Producto());