2017-10-27 8 views
0

Ich möchte Daten aus der Datenbank suchen und anzeigen (Daten in einem Formular eingegeben). Das Problem ist, dass ich immer den letzten Wert in der Datenbank bekomme. dies ist mein Code:Ich bekomme immer die neuesten Daten in der Datenbank

public void actionPerformed(ActionEvent ae) { 
      String nom, prenom; 
      nom = tf3.getText(); 
      prenom = tf4.getText(); 
      String url = "jdbc:mysql://localhost:3306/seminaire"; 
      String userid = "root"; 
      String password = ""; 
      try { 
       if (nom != "" && prenom != "") { 
        Connection connection = DriverManager.getConnection(url, 
          userid, password); 
        Statement st = connection.createStatement(); 
        ResultSet rs= st.executeQuery("SELECT * FROM participant WHERE nom=nom && prenom=prenom"); 

        while (rs.next()) 
        { 
         String nm = rs.getString("nom"); 
         String prnm = rs.getString("prenom"); 
         String cat = rs.getString("categorie"); 
         String afl = rs.getString("affiliation"); 
         String mnt = rs.getString("montant"); 
        } 
       } 
      } 
      catch (FileNotFoundException | DocumentException e) { 
        e.printStackTrace(); 
      } 
    } 

Haben Sie eine Ahnung, bitte. danke

Antwort

0

Es sieht so aus, als ob die Werte, die Sie nom und prenom zuweisen, nicht in der Abfrage verwendet werden, die Sie ausführen. Auch sollte &&AND sein?

Ich würde empfehlen, Prepared Statements, dies zu tun, siehe Java documentation on prepared statements.

ich Ihren Code, so etwas zu tun ändern würde:

PreparedStatement selectStatement = connection.prepareStatement("SELECT * FROM participant WHERE nom=? AND prenom=?"); 
selectStatement.setString(1, nom); 
selectStatement.setString(2, prenom); 
ResultSet rs = selectStatement.executeQuery(); 
+0

es ist perfekt .thank Sie –

Verwandte Themen