2016-12-06 1 views
0

Ich versuche, einen Datensatz in der Datenbank zu löschen, wo, wenn der Benutzername ich nicht eingegeben habe Admin kann ich löschen, aber es funktioniert nicht Ich denke, es ist die Abfrage keine Idee danke im Voraus.Ich bin ein Neuling i versucht, es herauszufinden ...Abfrage löschen funktioniert nicht Java Netbeans

String password = new String(oldPass.getPassword()); 
    String realpass = pw.getText(); 
    String us = userr.getText(); 
     user = us; 

     System.out.println("ok"); 
     String query = "DELETE FROM user WHERE privilege = 'NOT ADMIN' +  username = '"+us+"'"; 
     try { 
      Statement st = (Statement) con.createStatement(); 
      int r = st.executeUpdate(query); 
      if (r != 0) { 
       JOptionPane.showMessageDialog(null, "Successfully deleted!", "Delete", JOptionPane.OK_OPTION); 

       login w = new login(); 
       w.setVisible(true); 
       this.dispose(); 
      } else { 
       JOptionPane.showMessageDialog(null, "Wait! something's wrong, please try again later.", "Ooopppss!", JOptionPane.OK_OPTION); 


      } 

     } catch (Exception e) { 
      System.out.println(e); 
     } 


     // TODO add  // TODO add your handling code here: 
}        
+2

Ihre Abfrage sieht in vielerlei Hinsicht falsch aus. Es hat ein Pluszeichen und ist "NOT ADMIN" wirklich ein echtes Privileg? Welche Datenbank verwendest du? –

+0

ich benutze PHP mysql, auch wenn ich die Berechtigung als Mitarbeiter ändern seine immer noch nicht gelöscht – lec

+0

'DELETE FROM Benutzer WHERE privilegiert = 'NOT ADMIN' und benutzername = 'lec'' ... verwenden Sie diese Syntax, tun _not_ verwenden ein Pluszeichen –

Antwort

1

Vielleicht fehlt Ihnen das AND oder OR-Operator hängt davon ab, was Sie versuchen, hier ein Beispiel

DELETE FROM user WHERE privilege = 'NOT ADMIN' AND user='user'

auf jeden Fall zu tun, empfehle ich Sie verwenden stattdessen die Zeichenfolge 'nicht admin' Sie c Erzeuge einen neuen Katalog von Privilegien