Ich habe diesen Codeabschnitt, wo ich den Benutzer auffordern, die DEPID eingeben, um eine Abteilung zu bearbeiten, und dann durch die IF-Anweisung, die ich entweder gespeichert oder Abteilung zeigt angezeigt Es existiert. Jetzt ist mein Problem, dass es direkt zur else Aussage geht. Als ich das Debugging benutzte, bemerkte ich, dass der RS (ResultSet) nur die Benutzereingabe mit der ersten Zeile der Tabelle, die AOL ist, vergleicht.Verwenden von ResultSet, um Ergebnis in IF-Anweisung (JAVA) zu vergleichen
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);
}
Es gibt keine Möglichkeit, dass ein String 'staffnum' dem ResultSet' rs' entspricht. Sie sollten "staffnum" gegen einen anderen Wert überprüfen. – KevinO