Einfügen von Komponenten in das Hauptdialogfeld (dbExpress-Tutorial)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Tutorial: Mit dbExpress Datenbanken in einer Anwendung anzeigen und aktualisieren

Die visuellen Komponenten des Dialogfeldes in diesem Beispiel ermöglichen Folgendes:

  • Auswählen einer Datenbankverbindung
  • Auswählen einer Tabelle aus der Datenbank
  • Anzeigen von Daten und Navigieren in der Datenbank
  • Aktualisieren der Datenbankdaten
  • Ausführen von SQL-Anweisungen für die Datenbank

Genauso wichtig sind die nicht-visuellen Komponenten des Dialogfeldes. Sie stellen die für die Verbindung und die Bearbeitung der Datenbank erforderlichen Objekte bereit:

  • Datenbankverbindung
  • Datenmengen für Daten
  • Provider zum Abrufen von Daten aus einer Datenmenge und zum Eintragen von Aktualisierungen in diese Datenmenge
  • Datenquellen für datensensitive Komponenten

Nach dem Hinzufügen der Komponenten sieht das Formular folgendermaßen aus:

TutorialdbExpressMainDialog.png


Die fünf nicht-visuellen Komponenten (TSQLConnection und die weiteren) sind auf einem Listenfeld angeordnet, aber ihre Position auf dem Formular ist beliebig.

Erstellen eines Projekts

Erstellen Sie ein neues Projekt.

  • Delphi: Wählen Sie Datei > Neu > VCL-Formularanwendung - Delphi.
  • C++: Wählen Sie Datei > Neu > VCL-Formularanwendung - C++Builder.

Setzen Sie die Eigenschaft Caption des Formulars auf "DB ClientDataSet Data Update Tool". Ändern Sie die Eigenschaft Width des Formulars in 650 und die Eigenschaft Height in 375.

Wählen Sie Datei > Alles speichern, um das Projekt zu speichern.

  • Delphi: Speichern Sie die Datei unter dem Namen cdsmain.pas. Und das Projekt unter dem Namen DB_CDSDataUpdated.dproj.
  • C++: Speichern Sie die Datei unter dem Namen cdsmain.cpp. Und das Projekt unter dem Namen DB_CDSDataUpdated.cbproj.

Hinzufügen von visuellen Komponenten

Ziehen Sie aus der Tool-Palette ein TComboBox-Steuerelement auf die linke Seite des Formulars. In diesem Steuerelement listet die Anwendung die verfügbaren Datenbankverbindungen auf. Ändern Sie die Eigenschaft Name in "ComboBoxConnections". Setzen Sie AutoDropDown auf True. Wählen Sie csDropDownList für die Eigenschaft Style aus. Setzen Sie TextHint auf "Connection Name" und ShowHint auf True.

Ziehen Sie eine TLabel-Komponente neben die TComboBox-Komponente, und ändern Sie die Eigenschaft Caption der TLabel-Komponente in "SQL:".

Platzieren Sie rechts neben der TLabel-Komponente eine TEdit-Komponente. Dieses Steuerelement zeigt die aktuelle SQL-Anweisung für den Zugriff auf die Datenbank an. Ändern Sie die Eigenschaft Name des TEdit-Steuerelements in "EditSQL". Setzen Sie die Eigenschaft Text auf einen leeren Wert.

Platzieren Sie eine weitere TEdit-Komponente unterhalb der TComboBox-Komponente. Dieses Steuerelement zeigt einen Ausdruck zum Filtern der Datenbanktabellen an, die in dem darunter liegenden TListBox-Steuerelement angezeigt werden. Ändern Sie die Eigenschaft Name in "EditFilter". Setzen Sie die Eigenschaft Hint auf "Filter (Use * as wildcard)" und die Eigenschaft Text auf "Filter (* as wild)" als Hinweis und Anfangstext für dieses Feld.

Ziehen Sie eine TCheckBox-Komponente neben die TEdit-Komponente, und ändern Sie die Eigenschaft Caption der TCheckBox-Komponente in "Open". Diese TCheckBox-Komponente gibt an, ob die TClientDataSet-Komponente aktiv ist oder nicht. Setzen Sie die Eigenschaft Name der TCheckBox-Komponente auf "CheckBoxActive".

Platzieren Sie neben der TCheckBox-Komponente eine TDBNavigator-Komponente. Mit diesem Steuerelement können Sie in der Datenbank navigieren und Operationen mit den Daten ausführen.

Platzieren Sie neben der TDBNavigator-Komponente eine TButton-Komponente, um die Datenbank nach dem Ändern von Daten zu aktualisieren. Setzen Sie die Eigenschaft Caption der TButton-Komponente auf "Apply Updates". Ändern Sie die Eigenschaft Name der TButton-Komponente in "ButtonApply".

Platzieren Sie unterhalb des Filters (TEdit) eine TListBox-Komponente. Die TListBox-Komponente führt die in der ausgewählten Datenbank verfügbaren Tabellen auf, die dem Filtertext in der darüber liegenden Filterkomponente TEdit entsprechen. Setzen Sie bei der Eigenschaft Anchors alle Anker außer akRight auf True. Dadurch wird die aktuelle Position der TListBox-Komponente relativ zu einer Ecke des Formulars beibehalten, auch wenn die Größe des Formulars verändert wird (Ausnahme: die rechte Seite der TListBox-Komponente).

Platzieren schließlich Sie neben der TListBox-Komponente eine TDBGrid-Komponente. Diese Komponente zeigt die Datensätze aus einer Datenmenge an. Die Tabellenspalten erhalten automatisch die Namen der Spalten in der Datenbank. Mit der TDBNavigator-Komponente kann durch die TDBGrid-Komponente geblättert werden. Setzen Sie bei der Eigenschaft Anchors alle vier Anker auf True. Dadurch wird die aktuelle Position der TDBGrid-Komponente relativ zu einer Ecke des Formulars beibehalten, auch wenn die Größe des Formulars verändert wird.

Passen Sie die Größe aller Komponenten entsprechend ihrer Position auf dem Formular an. Speichern Sie alles.

Hinzufügen von Datenbankkomponenten

Im Folgenden fügen Sie die Komponenten zur Kommunikation mit der Datenbank hinzu. Beim Platzieren der Komponenten auf dem Formular legen Sie auch die erforderlichen Verknüpfungen zwischen den Komponenten fest. Da sich hierbei um nicht-visuelle Komponenten handelt, ist deren Position auf dem Formular beliebig. In diesem Beispiel werden sie nacheinander in einer Spalte angeordnet, um die Reihenfolge des Datenflusses wiederzugeben.

Platzieren Sie zuerst eine TSQLConnection-Komponente auf dem Formular. Diese Komponente kapselt die dbExpress-Verbindung zu einem Datenbankserver. Wird die Anwendung ausgeführt, wird über diese Komponente eine Verbindung zu einer Datenbank hergestellt. Die Eigenschaft ConnectionName kann auch schon beim Entwurf gesetzt werden. Das Dropdown-Menü der Eigenschaft ConnectionName zeigt alle im Daten-Explorer aufgeführten Datenbankverbindungen an. Setzen Sie die Eigenschaft LoginPrompt der TSQLConnection-Komponente auf false, damit Sie nicht bei jeder Verbindung zu einer Datenbank zur Eingabe eines Passwortes aufgefordert werden.

Fügen Sie eine TSQLDataSet-Komponente hinzu, die über dbExpress abgerufene Daten repräsentiert. Verbinden Sie diese Komponente mit der TSQLConnection-Komponente, indem Sie die Eigenschaft SQLConnection der Datenmenge im Dropdown-Menü auf "SQLConnection1" setzen. Setzen Sie DbxCommandType auf "Dbx.SQL", weil die Anwendung über SQL-Anweisungen Daten aus der Datenbank abruft.

Platzieren Sie nun eine TDataSetProvider-Komponente auf dem Formular. Diese Komponente stellt Daten aus einer Datenmenge bereit und trägt Aktualisierungen in diese Datenmenge ein. TSQLDataSet aus dbExpress ist in der Regel eine unidirektionale Datenmenge. Ein Provider, wie TDataSetProvider, ermöglicht die Navigation in einer Datenbank und deren Aktualisierung. Setzen Sie die Eigenschaft DataSet der TDataSetProvider-Komponente auf "SQLDataSet1", um den Provider mit der TSQLDataSet-Komponente zu verbinden.

Platzieren Sie eine TClientDataSet-Komponente auf dem Formular, um eine datenbankunabhängige Datenmenge zu implementieren. Setzen die Eigenschaft ProviderName der TClientDataSet-Komponente auf "DataSetProvider1", damit die TClientDataSet-Komponente mit der TDataSetProvider-Komponente verbunden ist.

Ziehen Sie zuletzt eine TDataSource-Komponente auf das Formular. Eine Datenquelle stellt eine Schnittstelle zwischen einer Datenmengenkomponente und datensensitiven Steuerelementen, wie dem Steuerelement TDBGrid in diesem Beispiel, bereit. Setzen Sie die Eigenschaft DataSet der TDataSource-Komponente im Dropdown-Menü auf "ClientDataSet1".

Um die Verknüpfungen zwischen den Komponenten abzuschließen, verbinden Sie die beiden datensensitiven visuellen Komponenten mit der Datenquelle:

  • Setzen Sie die Eigenschaft DataSource des TDBNavigator-Steuerelements auf "DataSource1".
  • Setzen Sie die Eigenschaft DataSource des TDBGrid-Steuerelements auf "DataSource1".

Speichern Sie die Datei wieder.

Die Komponenten sind nun alle platziert, und Sie können als Nächstes mithilfe der umfangreichen VCL-Bibliothek der Komponentenklassen den Anwendungscode schreiben. Dieses Tutorial beschreibt den Code für Delphi und C++.

Zurück

Herstellen der Verbindung zu einer Datenbank

Weiter

Schreiben des Quellcodes zur Initialisierung der Anwendung