2012-12-30 51 views
-1
private void btgetinvActionPerformed(java.awt.event.ActionEvent evt) { 
    if(tf_rmid.getText().length()==11){ 
     JOptionPane.showMessageDialog(null,"REMITTANCE ID IS VALID!"); 
     try { 
       DBUtil util = new DBUtil(); 
       Connection con = util.getConnection(); 
       Statement stmt = con.createStatement(); 
       ResultSet rs = stmt.executeQuery("select bk_det.rm_id from bk_det inner join bk_rep on bk_det.rm_id = bk_rep.rm_id WHERE rm_id = ?"); 
       String rm = tf_rmid.getText().trim();   
       stmt.setString(1, ""+(rm)); 
       while(rs.next()){ 
        int i = rs.getString("RM ID"); 
        String fn = rs.getString("First Name"); 
        String ln = rs.getString("Last Name"); 
        String title = rs.getString("Title"); 
        String city = rs.getString("City"); 
        txtFirstName.setText(fn); 
        txtLastName.setText(ln); 
        txtTitle.setText(title); 
        txtCity.setText(city); 
       } 
      } catch (Exception ex) { 
       JOptionPane.showMessageDialog(null, ex.getMessage()); 
       Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex); 
      } 
    }else{ 
     JOptionPane.showMessageDialog(null,"PLEASE ENTER VALID REMITTANCE ID!"); 
    } 

}從數據庫

我試圖使用SELECT語句來搜索從我的數據庫值,但是當我試圖得到該值搜索?對於哪裏選項我越來越錯誤,我認爲它的語法錯誤可以一個人請幫助?

回答

1

與此執行,

select bk_det.rm_id from bk_det inner join bk_rep 
on bk_det.rm_id = bk_rep.rm_id WHERE bk_det.rm_id = ? 

也許你缺少在WHERE子句

+0

雅謝謝你,我所做的更改,但我怎麼可以附加價值到?來自textfield。我已經做到了,但它顯示出找不到符號的一些錯誤 –

1

這似乎有點奇怪,你是參數設置爲AFTER執行查詢語句表名。

int i = rs.getString(「RM ID」);

這並不編譯(如果RS是一個java.sql.ResultSet實例)

1

用事先準備好的聲明:

String query = "select bk_det.rm_id from bk_det inner join bk_rep on bk_det.rm_id = bk_rep.rm_id WHERE rm_id = ?"; 
    try { 
     PreparedStatement preps = con.prepareStatement(query); 
     preps.setString(1, ""+(rm)); 
     preps.execute(); 
     ...