插入不保存

时间:2017-12-01 12:58:25

标签: java mysql sqlite

我的插入没有保存我不知道我认为我的编码有任何帮助吗?

我仍然试图弄明白任何帮助都会感激

    if(txt_stock_qty.getText().equals("") || txt_stock_product.getText().equals("") || txt_stock_price.getText().equals("") || txt_stock_total.getText().equals("")){
             JOptionPane.showMessageDialog(null, "fill up all data");
                       }else{
             try{



                    String sql1 = "SELECT Product from stocktbl" ;

         pst =conn.prepareStatement(sql1);
         rs=pst.executeQuery();
                 if(rs.next()){
                  String Prob=rs.getString("Product");
                 if(Prob.equals(txt_stock_product.getText())){
                 JOptionPane.showMessageDialog(null, "Existing Data Found");
                 }

                 }else{
                  String sql="INSERT INTO stocktbl (Product,Stock,Price,Total) values(?,?,?,?)";
    pst =conn.prepareStatement(sql);
    pst.setString(1, txt_stock_product.getText());
    pst.setString(2, txt_stock_qty.getText());
    pst.setString(3, txt_stock_price.getText());
    pst.setString(4, txt_stock_total.getText());


    rs=pst.executeQuery();
    pst.execute();

    JOptionPane.showMessageDialog(null, "Saved");

     }
                 }    
    catch(Exception e)
    {
           JOptionPane.showMessageDialog(null, e);
}
                       }

        txt_stock_barcode.setText("");
        txt_stock_product.setText("");
        txt_stock_qty.setText("");
        txt_stock_price.setText("");
        txt_stock_total.setText("");
        lbl_stock_barpic.setText("");
        UpdateJTable();

    } 
单击“插入”后,它会清除所有txt,我认为我搞砸了

1 个答案:

答案 0 :(得分:0)

我认为你的错误在于:

rs=pst.executeQuery();
pst.execute();

您正在执行两次相同的预备陈述。此外,使用INSERT时,您应该使用pst.executeUpdate();并且无法使用pst.executeQuery();,因为INSERT没有提供结果集。 pst.executeUpdate();仅用于SELECT

再次查看基础知识可能会有所帮助。