2017-12-01 1 views
0

삽입물이 저장되지 않습니다. 제가 코딩을 엉망으로 만들었습니다.삽입물이 저장되지 않음

임 아직도 내가까지 내가 엉망에게 그것을 생각하는 모든 TXT을 취소 간다 삽입을 클릭 한 후

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

    } 

감사하겠습니다 도움이 그것을 이해하려고 노력

답변

0

나는 당신의 실수가 여기에있다 생각 :

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

동일한 preparedstatement를 두 번 실행하고 있습니다. 또한 INSERT을 사용하는 경우 pst.executeUpdate();을 사용해야하며 INSERT은 결과 집합을 제공하지 않으므로 pst.executeQuery();을 사용할 수 없습니다. pst.executeUpdate();SELECT에만 사용됩니다.

기본 사항을 다시 확인하는 것이 도움이 될 수 있습니다.

+0

당신은 pst.executeQuery()를 의미합니다. SELECT AND pst.executeUpdate()에 대한 것입니다; 삽입 용인가요? –

+0

executeQuery()는 SELECT를위한 것입니다. SELECT가 결과 집합을 생성하기 때문입니다. executeUpdate()는 INSERT, UPDATE 또는 DELETE 용이며 결과 집합을 생성하지 않습니다. 또한 모든 SQL 문에 사용할 수있는 execute()를 사용할 수도 있습니다. 정말 기본을 읽어야합니다. [여기] (https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html)는 PreparedStatement에 대한 사이트입니다. 같은 웹 사이트에서 다른 것들에 대한 정보를 찾을 수 있습니다. – Geshode

+0

괜찮습니다. –

관련 문제