Filtern mit Such-Formular |
Anfang Zurück Vor |
Letzte Änderung 26.10.2010
Bei einer Datenbankabfrage erhalten Sie standardmäßig alle Datensätze der jeweiligen Datenbank-Tabelle als Abfrageergebnis. Dies kann zu unnötig langen Ladezeiten, zu unübersichtlichen Tabellen auf dem Bildschirm und bei großen Datenbeständen sogar zu einem Speicherüberlauf führen. Dies lässt sich durch gezieltes Filtern der Daten vermeiden.
Ein Filter wird grundsätzlich als Bedingung (WHERE) formuliert. Die Datenbank liefert dadurch nur noch die Daten aus, welche die Filter-Bedingung mit Wahr erfüllen. Eine Bedingung setzt sich aus dem Datenfeld das durchsucht werden soll, einem speziellen SQL-Operator und dem jeweiligen Suchbegriff zusammen.
Der Suchbegriff ist i.d.R. variabel und wird meist vom Anwender mit Hilfe eines Such-Formulars angegeben. Die angegebenen Suchbegriffe müssen dann mit Hilfe entsprechender Methode von den Formular-Komponenten ausgelesen werden. Das Auslesen kann wahlweise schon vor der Datenbankabfrage oder direkt in der Filter-Bedingung im Query-Assistenten erfolgen.
11.Erweitern Sie die Datenbankabfrage mit einem Filter. Bewegen Sie dazu den Mauszeiger mit gedrückter Shift Taste auf die Datenbankabfrage XDEV.Query und klicken Sie diese dann an, um den Query-Assistenten aufzurufen. 12.Klicken Sie im Query-Assistenten bei Filter auf 13.Wählen Sie in der ersten Combobox das Datenfeld aus, das durchsucht werden soll. 14.Wählen Sie in der zweiten Combobox einen SQL-Operator aus. 15.Geben Sie nun im Textfeld den Suchbegriff an, z.B. "BMW". 16.Klicken Sie im Query-Assistenten auf OK, um den Assistenten zu schließen.
I.d.R. wird der Suchbegriff kein fester, sondern ein variabler Wert sein, der mit Hilfe einer Variable angegeben wird. Diese Variable müssen Sie bereits vor der Datenbankabfrage definieren und dieser anschließend den Suchbegriff als Wert zuweisen. Häufig wird der Suchbegriff aus einer Suchmaske ausgelesen, was mit Hilfe einer Methode möglich ist.
17.Wechseln Sie in den GUI-Builder, verschieben Sie den Button nach rechts, fügen Sie ganz links einen TextPane ein, geben Sie Marke: ein und fügen Sie daneben ein TextField ein. 18.Selektieren Sie den Button und wechseln Sie in die Code-Ansicht. Klicken Sie dazu auf {} Code. 19.Lesen Sie nun den Suchbegriff aus dem Textfield aus. Definieren Sie dazu vor der Datenbankabfrage eine String-Variable und weisen Sie dieser die Methode textField.getText( ) zu, welche den Text aus dem Textfield ausliest.
20.Ändern Sie nun die Filter-Bedingung der Datenbankabfrage. Bewegen Sie dazu den Mauszeiger mit gedrückter Shift Taste auf die Datenbankabfrage XDEV.Query und klicken Sie diese dann an, um den Query-Assistenten aufzurufen. Geben Sie bei der Filter-Bedingung im rechten Textfeld die Variable suchbegriff an. 21.Klicken Sie im Query-Assistenten auf OK, um den Assistenten zu schließen.
An Stelle einer Variable können Sie in der Filter-Bedingung auch direkt eine Methode angeben, welche den Suchbegriff ermittelt, z.B. textField.getText( ).
try
private static class QueryFahrzeuge extends Query |