0
我有這段代碼,我提示用戶輸入depID來編輯一個部門,然後通過IF語句我已經完成它顯示保存或部門doesn' t存在。現在我的問題是它直接到了else語句。當我使用調試時,我注意到RS(ResultSet)只是將用戶輸入的內容與表AOL的第一行進行混淆。使用ResultSet比較IF語句(JAVA)內的結果
try{
String value1 = txt_depID.getText();
String value2 = txt_depName.getText();
String sql = "Update tblDepartment set depID = '"+value1+"' , depName = '"+value2+"' where depID = '"+value1+"'";
String sql1 = "Select depID, depName from tblDepartment";
Class.forName(driver);
conn = DriverManager.getConnection(url);
ps = conn.prepareStatement(sql1);
rs = ps.executeQuery();
ps = conn.prepareStatement(sql);
ps.execute();
if(rs.next()){
String depi = rs.getString("depID"); //Issue: only reading first row
if(depi.equals(value1)){
JOptionPane.showMessageDialog(null, "Entry Saved");
}
else{
JOptionPane.showMessageDialog(null, "Department doesn't exist");
}
}
} catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
沒有辦法String'staffnum'將等於ResultSet'rs'。你應該檢查'staffnum'與其他值。 – KevinO