# Methode



## JonnieWalker (8. Apr 2010)

Hej Leute mal ne Frage wieder....

ich hab hier diese Methode und das Programm funktioniert so wie es soll eigendlich.
Ich sage eigendlich weil ich in einer Klasse wo ich auf diese Mehtode zugreife sachen eingebe und er mir über diese Methode sachen wieder ausgibt. Das macht es auch.
In der Klasse hab ich 3 Felder aber das Problem ist ich muss immer das erste Feld ausfüllen
sonst beachtet er die andren nicht, wenn ich es ausgefüllt habe dann macht er das.
Wie kann ich die Felder unabhängig von einenader funktionieren lassen????

also feld eins muss immer gefüllt sein sonst bringen die eingaben in 2 und 3 nichts
ich will aber z.b nur 2 oder 3 ausfüllen und dannach filtern.
Danke

Hier die Methode:


```
public ArrayList<Words> getWords() {
        Words Datensatz;
        ResultSet daten;
        String eigAnzahl;
        String eigBuchst;
        String eigZBS;
        try {
             Statement anweisung = v2.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                    ResultSet.CONCUR_READ_ONLY);
            eigAnzahl = FensterFilter.tfEingWorter.getText();
            eigBuchst = FensterFilter.tfBuchstabe.getText();
            eigZBS = FensterFilter.tfZBS.getText();
            daten = anweisung.executeQuery("SELECT word FROM words WHERE len(word)>" +
                                           " "+eigAnzahl+" AND word LIKE '" +eigBuchst+
                                           "%' AND word LIKE '%" +eigZBS+ "%'" );
             
            while (daten.next()) {
                Datensatz = new Words(
                        daten.getString("word"));
                retWords.add(Datensatz);
            }
        } catch (Exception ex) {
        }
        return retWords;
    }
```

Hier der Ausschnitt aus der Klasse Filter.
Der Button ok ist das nach der Eingabe vom Benutzer:


```
private void OKActionPerformed(java.awt.event.ActionEvent evt) {                                   
  
        FensterWortliste fensterWortliste = new FensterWortliste();
        fensterWortliste.setVisible(true);
        db.getWords();
        ZeigeListe();
        this.dispose();
```


----------



## SlaterB (8. Apr 2010)

kannst du bitte für deine zahlreichen Themen in irgendeiner Art sinnvolle Namen finden?
hier z.B. 'DB-Abfrage mit drei WHERE-Teilen' oder so, erklärt noch nicht das Problem aber minimal worum es geht,
was soll dagegen 'Methode' aussagen?

die Lösung ist eigentlich simpel leicht, wenn im Feld 1 nichts drinsteht, dann lasse Teile des SQL weg, 
kann man doch alles mit if/ else genau nach Wusch zusammenbauen

wenn man Legosteine normalerweise erst nach Farbe, dann nach Größe und dann nach Klebrigkeit filtert,
in einer bestimmten Situation einem aber die Farbe egal ist, 
dann läßt man den Schritt 'nach Farbe alles andere aussortieren' einfach WEG, fertig


----------



## JonnieWalker (8. Apr 2010)

wieso postest du eigendlich???
mit if und else da bin ich auch schon drauf gekommen!
dachte vllt gibt es einen feineren weg aber naja......
danke trozdem....


----------



## Final_Striker (8. Apr 2010)

labi hat gesagt.:


> wieso postest du eigendlich???


Weil du gefragt hast.



labi hat gesagt.:


> dachte vllt gibt es einen feineren weg aber naja......
> danke trozdem....



Das ist der "feinere" Weg, sich eine Anfrage zu basteln, die nur aus denn Teilen besteht die man auch braucht.
"Unfein" ist es, alles dran zuhängen und die Datenbank entscheiden zu lassen was ein len(word) ohne Längenangabe zu bedeuten hat.


----------



## JonnieWalker (8. Apr 2010)

hmm... ja wie wärs wenn du dich um deine sachen kümmerst!
der einzige der hier was kann ist basti der gibt vernünftige antworten wo man was draus entnehmen kann der rest macht hier ein auf super-programmierer ja ok in 1´nem jahr bin ich genau so gut bestimmt sogar besser, aber hört auf mit diesen links weil ich meistens erst google dann frage und hört auf das immer so kompliziert rüberzubringen und wenn was falsch ist dann zickt nicht wie frauen rum sondern redet normal
danke


----------



## maki (8. Apr 2010)

Thread geschlossen.

Wenn du dich hier nicht zu benehmen weisst und den falschen Ton anschlägst werden wir wohl auf deine Anwesenheit und deine Fragen verzichten.

Falls du wieder in der Lage bist normal zu reden kannst du ja einen neuen Thread eröffnen, ansonsten bitte nicht.


----------

