Visuelle Datenbankprogrammierung mit Delphi und C++-Builder |
DataSource, Table und Query kann in ein DataModule gelegt werden. Das vereinfacht die Übersicht vor allem, wenn das Projekt aus mehreren Modulen oder Formularen besteht. Um auf die Elemente innerhalb des DataModuls zuzugreifen, wird der Name des Moduls (beispielsweise verwende ich gern DB dazu) vorangestellt. Die DataSource "Kunde" würde von C++-Builder mit DB->Kunde und von Delphi mit DB.Kunde erreicht.
Nun wird die DataSource aus Datenzugriff / DataAccess in das Form gelegt. Über die Property DataSet kann nun die Tabelle TiereDB ausgewählt werden. Name z. B. TiereQuelle.
Nun etwas, um die Daten sichtbar zu machen. Beispiel DBGrid aus Datensteuerung / DataControl. Als Property DataSource nun TiereQuelle auswälen.
Wird nun die Property Active von TTable von false auf true gesetzt erscheinen bereits im Entwurf die Daten im DBGrid. DBGrid ermöglicht den Zugriff auf die gesamte Tabelle. Andere Elemente können meist nur auf einen Record und sogar nur auf ein Feld zugreifen. Um das Feld zu bezeichnen muß zusätzlich noch die Property DataField ausgewählt werden.
Zum Navigieren in der Datenbank dient der DBNavigator aus DataControls. Er braucht wiederum nur die DataSource. Mit ShowHint auf true zeigt die Anwendung Hinweise zur Benutzung des Navigators. Um einzelne Buttons des Navigators ein- und auszuschalten, wird die Property VisibleButtons gesucht und auf das +-Zeichen links doppelt geklickt. Es öffnet sich die Liste der Buttons, die nun einzeln auf true oder false gestellt werden kann.
Änderung der Postition der Datenbank wird in der DataSet-Komponente durchgeführt.
Die aufzurufenden Methoden sind:
Member | Navigatorknopf | Bedeutung |
---|---|---|
First | nbFirst | gehe auf den ersten Record. |
Prior | nbPrior | einen Datensatz zurück. |
Next | nbNext | einen Datensatz vor |
Last | nbLast | auf den letzten Datensatz |
Edit | nbEdit | Daten zum Editieren freigeben |
Post | nbPost | In die Datenbank übernehmen |
Cancel | nbCancel | Änderungen verwerfen |
Refresh | nbRefresh | Erneut aus der Datenbank holen |
TDBListBox ist ein Element, mit dem aus einer statisch vorgegebenen Menge Werte in ein Feld übernommen werden können. TDBLookupList wird dagegen durch ein Feld einer anderen Datenbank gefüllt. TDBComboBox und TDBLookupCombo verhalten sich gleich, allerdings ist das Eingabefeld frei editierbar.
Per Table/Restructure kann die Definition jederzeit korrigiert werden.
Der Form-Wizard fordert nach und nach alle benötigten Informationen an. Dies ist
zunächst die Tabelle, dann welche Ausrichtung die Eingabefelder haben sollen und wo
die Beschriftungen stehen. Aus diesem Form wird die Maske erstellt. Diese kann dann von
Hand weiter bearbeitet werden.
Erzeugen einer Anwendung aus einer Datenbank
Database Desktop
wird über Tools/Database Desktop gestartet. Hiermit können Datenbanken erzeugt
und editiert werden. File / New / Table erzeugt eine neue Tabelle, die
standardmäßig im Paradox-Format angelegt wird. Aber auch dBase-Varianten sind
möglich.
Database Form Wizard
Aus dem C++-Builder wird per Menü Database / Form Wizard der Formular-Generator
gestartet. Mit diesem kann man eine Standard-Eingabemaske mit Navigatorknöpfen und
der zugehörigen Tabelle und DataSource erzeugen.
Aktualisierung einer Query
Damit sich die Komponenten, die auf einer Query basieren bei Änderungen
der zugrundeliegenden Tabelle aktualisieren, muss in den Eigenschaften der
Query die Tabelle als DataSource angegeben werden.
Homepage | (C) Copyright 2003 Arnold Willemer |