0
このコードを使用して、部門を編集するためにdepIDを入力し、IFステートメントを実行して保存したか、存在しません。今私の問題は、それが直接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);
}
文字列 'staffnum'がResultSet' rs'と等しくなることはありません。他の値と比較して 'staffnum'をチェックする必要があります。 – KevinO