2014-05-03 26 views
-2
try { 

    if (txtID.getText().isEmpty() 
      || txtLname.getText().isEmpty() 
      || txtFname.getText().isEmpty() 
      || txtMname.getText().isEmpty() 
      || jTextField1.getText().isEmpty() 
      || jTextField2.getText().isEmpty() 
      || jTextField3.getText().isEmpty()) 

    { 
     JOptionPane.showMessageDialog(null, "Fill Up All The Fields"); 
    } else { 
     if (btnReg.getText().equals("REGISTER")) { 
      stm.execute("insert into tblregular(ID, LNAME, FNAME, MNAME, VLEAVE, SLEAVE, TOTAL) values" 
          + "('" + txtID.getText().trim() + "'" 

          + ",'" + txtLname.getText().trim().toUpperCase() + "'" 
          + ",'" + txtFname.getText().trim().toUpperCase() + "'" 
          + ",'" + txtMname.getText().trim().toUpperCase() + "'" 
          + ",'" + jTextField1.getText().trim().toUpperCase() + "'" 
          + ",'" + jTextField2.getText().trim().toUpperCase() + "'" 
          + ",'" + jTextField3.getText().trim().toUpperCase() + "'" 


        JOptionPane.showMessageDialog(null, "Registration Successfull"); 
     } else { 
      txtID.setText(""); 
      txtLname.setText(""); 
      txtFname.setText(""); 
      txtMname.setText(""); 
      jTextField1.setText(""); 
      jTextField2.setText(""); 
      txtMname.setText(""); 

     } 
    } 
} catch (Exception e) { 
    System.out.println(e); 
} 

在行+ ",'"+jTextField3.getText().trim().toUpperCase()+"'" - 它說Expected ')'我的錯誤是什麼?該怎麼做,要添加什麼,要刪除什麼,我不能幫助我的自我。請幫助我。預期')'(使用netbeans)

+0

所以這是一個很好的理由,爲什麼你不應該使用字符串連接來構建查詢 - 它不僅是容易受到SQL注入,它可以導致這樣的頭痛。 – Makoto

+0

因爲在我的大學裏,這是他們教的先生。我能做些什麼來解決這個問題? – user3598225

+1

我同意netbeans,你應該關閉你已經打開的括號 – donfuxx

回答

1

您需要完成您傳遞給stm.execute()的字符串以及該語句之後所需的分號。該字符串缺少關於插入值的關閉paren。

3

您尚未關閉執行方法的括號。

stm.execute("insert into tblregular(ID, LNAME, FNAME, MNAME, VLEAVE, SLEAVE, TOTAL) values" 
         + "('"+txtID.getText().trim()+"'" 

         + ",'"+txtLname.getText().trim().toUpperCase()+"'" 
         + ",'"+txtFname.getText().trim().toUpperCase()+"'" 
         + ",'"+txtMname.getText().trim().toUpperCase()+"'" 
         + ",'"+jTextField1.getText().trim().toUpperCase()+"'" 
         + ",'"+jTextField2.getText().trim().toUpperCase()+"'" 
         + ",'"+jTextField3.getText().trim().toUpperCase()+"'"); 

,並嘗試使用PreparedStatement這裏是example