如何使用java netbeans和sqlservel进行更新



我想在netbeans和sqlserver中创建一个CRUD,我已经学会了如何进行插入和删除,但我无法解决更新。请帮帮我。

以下是我的代码: 方法更新:

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);
    }   

没有标记任何错误,但是数据库没有改变

?查询字符串与set命令的索引不匹配。我认为第一个应该排在最后,其他的都要往上移动一个,这样所有的名字才能匹配。改变:

    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());

相关内容

  • 没有找到相关文章

最新更新