2017-07-28 9 views
0

Ich versuche, einen bestimmten Wert von den von der Datenbank zurückgegebenen Werten zu vergleichen.
Ich erhalte mehrere Zeilen von STORESTAFF aber ich versuche, einen der Werte aus der Tabelle zurück zu vergleichen ..Wählen Sie einen bestimmten Wert aus mehreren von der Oracle-Datenbank zurückgegebenen Zeilen aus

contains() and 
equals() 

funktionieren nicht.

String qry = "Select all employe_id from storestaff where post='Admin'"; 
pstmnt = conn.prepareStatement(qry); 
ResultSet rs2 = pstmnt.executeQuery(qry); 
if (rs2.next()) { 
    String aa = rs2.getString("employe_id"); 

    if (aa.contains(UN.getText())) { 
     this.aa = aa; 
     JOptionPane.showMessageDialog(null, "Exists"); 
    } else { 
     JOptionPane.showMessageDialog(null, "Username doesn't Exist"); 
    } 
} 

Kann mir jemand eine bessere Lösung vorschlagen oder mir die bessere Lösung dafür nennen?

+0

wollen ja, mein prblm hat – Nancy

Antwort

0

Wenn Sie if verwenden Sie es die ersten Werte zurück, in Ihrem Fall, dass Sie while verwenden, die Schleife alle Ergebnisse werfen, so dass Sie mehrere Ergebnisse überprüfen können, stattdessen können Sie:

boolean check = false; 
while (rs2.next()) { 
    String aa = rs2.getString("employe_id"); 
    if (aa.contains(UN.getText())) { 
     this.aa = aa; 
     check = true;//if the value exist change the variable to true 
     break;  //and break the loop 
    } 
} 

//when you end you have to check the value, if true then the user exist else no 
if (check) { 
    JOptionPane.showMessageDialog(null, "Exists"); 
} else { 
    JOptionPane.showMessageDialog(null, "Username doesn't Exist"); 
} 
+1

dank gelöst .. mein problem hat gelöst. – Nancy

0

ändern if (rs2.next()) w ährend (rs2.next()) Sie erhalten von Massendaten, so müssen Sie über sie iterieren einen der Wert vergleichen, die Sie

Verwandte Themen