MySql Abfrage mit mehreren Variablen, aber wie?

Apfelkuchen

Mitglied
Hallo, ich konnte jetzt ein bisschen weiterkommen bei meinen db_abfragen. Jetzt stehe ich wieder vor einem problem. Hier sind teile meiner Codes:

Hauptprogramm:

Code:
if (suchen == 2) 
            { 
               System.out.println("Vorname eingeben: "); 
                
                
               Input.readdbTaxifahrer(eingabe); 
                
            }

da ließt er ein, wonach der user in der Datenbank suchen soll und gibt es weiter an eine andere Datei wo die SQL geschichte wartet:

Code:
public static String readdbTaxifahrer (String eingabe) 
       { 
        
      String host = "localhost"; 
      String db = "taxiservice"; 
      String Befehl = "SELECT * FROM `taxifahrer` "; 
      
      try { 
         Class.forName("com.mysql.jdbc.Driver").newInstance(); 
         Connection con = DriverManager.getConnection("jdbc:mysql://"+host+"/"+db,"root","sync2k"); 

          Statement stmt = con.createStatement(); 
          
          String sql = "select * from taxifahrer where Vorname='"; 
          sql = sql + eingabe + "';" ; 
          
          ResultSet results = stmt.executeQuery(sql); 
            while(results.next()) 
            { 
                System.out.println(); 
                System.out.println("Vorname: " + results.getString("Vorname")); 
                System.out.println("Nachname: " + results.getString("Nachname")); 
                System.out.println("SVN: " + results.getString("SVN")); 
            } 
         con.close(); 
          
      } 
      
      catch (SQLException e) { 
         System.out.println(e); 
         System.out.println(e.getSQLState()); 
         System.out.println(e.getErrorCode()); 
      } 
      
      catch (ClassNotFoundException e) { 
         System.out.println(e); 
      }    
      
      catch (Exception e)  { 
         System.err.println("Ausnahme/Exception: " + e.getMessage()); 
         System.err.println("Ausnahme/Exception: " + e.getCause()); 
          
         } 
      return Befehl; 
      }

jetzt möchte ich es so machen, dass ich nach 3 verschiedenen sachen suchen kann: z.B.: Vorname, Nachname und SVN.... wie kann ich es so machen, dass der User 3 Sachen eingeben kann. und nur die berücksichtigt werden, wo etwas eingegeben wurde.

Falls er beim Vornamen etwas nicht eingibt und einfach auf Enter drückt soll er weitergehen zum nächsten eingabefeld (Nachname)... und dann am Ende soll er die 3 (oder auch nur zwei oder eines) weiterschicken zum SQL Befehl...

danke
 
Zuletzt bearbeitet:
machs doch einfach über ne if -schleife oder switch.

Also ganz simpel über if würd ich einfach ma abfragen ob der User überhaupt etwas in die Felder eingegeben hat.

if(textField.getText == null || textField.equals(""))

.... so weiste ja ob jemand etwas eingegeben hat oder nicht und kannst dementsprechend
verfahren.
 
Zurück