Free Pascal programmieren lernen.
Firebird SQL Suche
Einleitung
Für eine Firebird SQL Suche habe ich die Benutzeroberfläche der Software erweitert und drei neue Prozeduren erstellt mit den Namen >>PersonenSuche<<, >>BtnPersonenSearchClick<< und >>BtnFilterDeleteClick<<. Eine Weitere Prozedur habe ich erweitert. In diesem Artikel möchte ich Dir erklären, wie ich die SQL Suche in Firebird umgesetzt habe.
Teil 01: Erweiterung der Benutzeroberfläche
Ich habe die gesamte Benutzerüberfläche in Objektinspektor ausgewählt und alle Komponenten in etwa 40 Pixel nach unten verschoben. Danach habe ich oben ein Editfeld mit dem Namen EdtPersonenSearch, eine ComboBox CB1PersonenSearch und einen Button BtnPersonenSearch hinzugefügt. Im unteren Bereich habe ich einen Button angelegt der für, das Auflösen des Filters der Personen Suche zuständig ist. Dieser trägt den Namen BtnFilterDelete.
Teil 02: Die Such-Prozedur
In der Zeile 171 wird deine Prozedur durch den Prozedurkopf eingeleitet. Danach leitest du in Zeile 172 die Variablendeklaration für die Prozedur durch das Wort var ein. Es folgt die Festlegung der Stringvariablen. StrSpalte ist eine dynamische Variable in der du die Auswahl der Combobox speicherst. Die weiteren Variablen sind für die Inhalte der Datenbankabfrage die in den Editfeldern deiner Software gespeichert werden. Von Zeile 176 bis Zeile 189 Fragen wir den Status der Combobox mit drei If Abfragen ab und legen die Spalte fest, in der du suchen möchtest. In der Zeile 191 baust du mit dbConnect eine Datenbank auf. Jetzt folgt in Zeile 192 die eigentliche SQL Suche durch die SQL Query Komponente SQLQPeople. Das SQL Statement bedeutet Select (Wähle) * (alles) von der Tabelle Personen aus der Spalte (strSpalte) das LIKE (beinhaltet) strText und ordne es nach der ID an. In der Zeile 193 schaltest du das SQL Query SQLQPeople aktiv auf true (wahr). Jetzt folgt in der nächsten Zeile, das Öffnen und damit die Datenbank Abfrage. In den folgenden Zeilen fragst du die Datenbank wie in der normalen Datenbank Abfrage ab. Die Prozedur wurde für die Suche angepasst. Du hast nun vor dem Füllen der ListView ab Zeile 203 in der Zeile 202 noch das Löschen der Listview, bevor diese neu gefüllt wird. Dies wird durch die Eigenschaft clear der ListView LVPeople durchgeführt.
Teil 03: Anpassung der Prozedur SelectDBData;
Die Prozedur SelectDBData kannst du für das aufheben des Filters nutzen. Dafür müsst du wie bei der Suche vor der Befüllung der ListView diese durch die Eigenschaft clear leeren.
Teil 04: Die Prozeduren der neuen Buttons
Der neue Button BtnPersonenSearch erhält ein OnClick Ereignis das BtnPersonenSearchClick heißt und in der du die gerade programmierte Prozedur PersonenSuche einfügst und übergibt den Inhalt des neuen Editfeldes EdtPersonenSearch als Text. Du kannst dies auch weglassen und diese Information in der Prozedur abfragen. Beide Datenabfragen sind hier möglich.
Der neue Button BtnFilterDelete ruft die angepasste Prozedur SelectDBData auf um wieder alle Ergebnisse der Datenbank anzuzeigen.
Das war es auch schon mit der Anpassung der Software für eine Firebird SQL Suche.
Die fertige Software können Sie in meinem Downloadbereich kostenlos und ohne Anmeldung herunterladen.