有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

库存管理系统上的java更新按钮不工作,MySQL,Netbeans

我的简单库存管理系统上的更新按钮没有更新库存。单击会显示“产品更新”对话框,但不会发生任何事情。它没有错误,我也找不到问题

当我只有5行时,它工作了,但当我添加类别和数量行时,它停止了

private void btn_updateActionPerformed(java.awt.event.ActionEvent evt) {

        if(checkInputs() && txt_id.getText() != null)
        {
            String UpdateQuery = null;
            PreparedStatement ps = null;
            Connection con = getConnection();

            //update without image
            if(ImgPath == null)
            {
                try {
                    UpdateQuery = "UPDATE products SET name = ?, price = ?"
                            + ", add_date = ?, category = ?, quantity = ?, WHERE id = ?";
                    ps = con.prepareStatement(UpdateQuery);

                    ps.setString(1, txt_name.getText());
                    ps.setString(2, txt_price.getText());

                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                    String addDate = dateFormat.format(txt_AddDate.getDate());

                    ps.setString(3, addDate);

                    ps.setInt(4, Integer.parseInt(txt_id.getText()));

                    String value = combo_category.getSelectedItem().toString();
                    ps.setString(5, value);

                    ps.setString(6, txt_quantity.getText());


                    ps.executeUpdate();
                    Show_Products_In_JTable();
                    JOptionPane.showMessageDialog(null, "Product Updated");

                } catch (SQLException ex) {
                    Logger.getLogger(Main_Window.class.getName()).log(Level.SEVERE, null, ex);
                }

            }
            //update with Image
            else{
                try{
                InputStream img = new FileInputStream(new File(ImgPath));

                UpdateQuery = "UPDATE products SET name = ?, price = ?"
                            + ", add_date = ?,image = ?, category = ?, quantity = ?, WHERE id = ?";

                    ps = con.prepareStatement(UpdateQuery);

                    ps.setString(1, txt_name.getText());
                    ps.setString(2, txt_price.getText());

                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                    String addDate = dateFormat.format(txt_AddDate.getDate());

                    ps.setString(3, addDate);

                    ps.setBlob(4, img);

                    String value = combo_category.getSelectedItem().toString();
                    ps.setString(5, value);


                    ps.setInt(6, Integer.parseInt(txt_id.getText()));

                    ps.executeUpdate();
                    Show_Products_In_JTable();
                    JOptionPane.showMessageDialog(null, "Product Updated");

            }catch(Exception ex)      
            {
                    JOptionPane.showMessageDialog(null, ex.getMessage());
            }
        }
        }else{
            JOptionPane.showMessageDialog(null, "One or More Fields Are Empty Or Wrong");
        } 
    }

共 (1) 个答案

  1. # 1 楼答案

    乍一看

    quantity = ?, WHERE id = ?
    

    应该是

    quantity = ? WHERE id = ?