我的插入没有保存我不知道我认为我的编码有任何帮助吗?
我仍然试图弄明白任何帮助都会感激
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,我认为我搞砸了
答案 0 :(得分:0)
我认为你的错误在于:
rs=pst.executeQuery();
pst.execute();
您正在执行两次相同的预备陈述。此外,使用INSERT
时,您应该使用pst.executeUpdate();
并且无法使用pst.executeQuery();
,因为INSERT
没有提供结果集。 pst.executeUpdate();
仅用于SELECT
。
再次查看基础知识可能会有所帮助。