Überwachen von Gehaltsänderungen (Allgemeines IBX-Tutorial)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Tutorial: Mit InterBase Express auf eine Datenbank zugreifen

Fügen Sie ein Dialogfeld zur Kontrolle von Änderungen der Mitarbeitergehälter mit dem im Abschnitt Hinzufügen eines Datenmoduls erstellten TDataModule-Modul hinzu.

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

SalaryChangeAuditing.png


Erstellen des Formulars

Fügen Sie dem Projekt ein weiteres VCL-Formular hinzu. Klicken Sie dazu in der Projektverwaltung mit der rechten Maustaste auf den Projektnamen, und wählen Sie aus dem Kontextmenü den Eintrag Neue hinzufügen > Formular aus.

Legen Sie die Eigenschaften des Formulars fest:

  • Setzen Sie die Eigenschaft Caption auf "Salary Change Auditing".
  • Setzen Sie Name auf "FrmTriggerDemo".
  • Ändern Sie die Eigenschaft Height des Formulars in 340 und die Eigenschaft Width in 390.
  • Setzen Sie OldCreateOrder auf true.

Speichern Sie das Formular:

  • Delphi: Speichern Sie die Datei unter dem Namen Frmtrigg.pas.

So verwenden Sie das TDataModule-Modul in diesem Formular:

  • Delphi: Fügen Sie die folgende Zeile am Anfang des implementation-Abschnitts der Datei Frmtrigg.pas ein:
uses DmCSDemo;

Hinzufügen visueller Komponenten

Sie müssen keine Datenbankkomponenten hinzufügen, da für dieses Formular die Datenbankkomponenten aus dem im vorherigen Abschnitt erstellten TDataModule-Modul "DmCSDemo" verwendet werden.

  • Fügen Sie drei TPanel-Komponenten hinzu, und ordnen Sie sie wie in der folgenden Abbildung an. Diese TPanel-Komponenten dienen als Rahmen zum Anordnen der visuellen Komponenten. Passen Sie deren Größe so an, dass sie das gesamte Formular ausfüllen.

SalaryFrmPanels.png

  • Fügen Sie "Panel1" für die Navigation in den Datensätzen der Datenbank eine TDBNavigator-Komponente hinzu. Setzen Sie die Eigenschaft DataSource im Dropdown-Menü auf "DmEmployee.EmployeeSource". Beachten Sie bitte, dass diese Datenquelle vom TDataModule-Modul gefüllt wird. Wählen Sie bei der Eigenschaft VisibleButtons alle Schaltflächen, außer nbInsert und nbDelete, aus. Setzen Sie ShowHint auf true, damit für die Schaltflächen der TDBNavigator-Komponente Hinweise angezeigt werden.
  • Platzieren Sie eine TBitBtn-Komponente auf der rechten Seite von "Panel1". Setzen Sie die folgenden Eigenschaften:
    • Setzen Sie Caption auf "E&xit". Das Tastenkürzel ALT+X führt dann dieselbe Aktion wie das Klicken auf die Schaltfläche aus.
    • Setzen Sie im Dropdown-Menü die Eigenschaft Kind auf "bkClose". Mit dieser Einstellung führt die Schaltfläche einen Befehl zum Schließen des Dialogfeldes aus, wenn Sie auf die TBitBtn-Schaltfläche klicken.
  • Platzieren Sie eine TDBGrid-Komponente auf "Panel2". Ändern Sie deren Größe so, dass sie die gesamte TPanel-Komponente ausfüllt. Setzen Sie die Eigenschaft DataSource im Dropdown-Menü auf "DmEmployee.EmployeeSource".
  • Platzieren Sie eine weitere TDBGrid-Komponente auf "Panel3". Ändern Sie deren Größe so, dass sie die gesamte TPanel-Komponente ausfüllt. Setzen Sie die Eigenschaft DataSource im Dropdown-Menü auf "DmEmployee.SalaryHistorySource".

Hinzufügen von Ereignisbehandlungsroutinen

Fügen Sie eine Ereignisbehandlungsroutine für das Formular hinzu. Wenn das Formular ausgewählt ist, doppelklicken Sie im Objektinspektor auf der Registerkarte Ereignisse auf das Ereignis OnShow. Verwenden Sie für das Ereignis den folgenden Code:

procedure TFrmTriggerDemo.FormShow(Sender: TObject);
begin
  DmEmployee.EmployeeTable.Open;
  DmEmployee.SalaryHistoryTable.Open;
end;

Anzeigen des Formulars für die Tabellendarstellung

Ändern Sie das im Abschnitt Erstellen des Hauptformulars erstellte Hauptformular. Fügen Sie eine Schaltfläche für die Anzeige des gerade erstellten Formulars hinzu.

Delphi

Fügen Sie der uses-Klausel am Anfang des implementation-Abschnitts von Frmmain.pas eine zusätzliche Zeile hinzu, damit das Hauptformular die gerade hinzugefügte Unit FrmTrigg finden kann:

uses
   FrmTrigg,   { The Trigger Demo }
   FrmViews;   { The View Demo }

Fügen Sie dem Formular Frmmain eine weitere TButton-Komponente hinzu, die derjenigen im Abschnitt Erstellen des Hauptformulars hinzugefügten entspricht. Setzen Sie TButton.Caption auf "Salary Change Trigger Demo". Setzen Sie TButton.Name auf "BtnTrigg". Fügen Sie dann der neu erstellen Schaltfläche eine Ereignisbehandlungsroutine hinzu, indem Sie auf der Registerkarte Design von Frmmain.pas auf diese TButton-Komponente doppelklicken. Verwenden Sie den folgenden Quellcode für die Ereignisbehandlungsroutine:

procedure TFrmLauncher.BtnTriggClick(Sender: TObject);
begin
  FrmTriggerDemo.ShowModal;
end;

Ausführen der Anwendung

Compilieren Sie die Anwendung, und führen Sie sie aus. Das Hauptformular wird angezeigt:

MainFrmAudit Salary.png


Klicken Sie zum Anzeigen des neuen Formulars auf die neue TButton-Schaltfläche "Salary Change Trigger Demo":

Salary Change Auditing Frm.png


Wählen Sie im oberen TDBGrid, das die Daten aus der Tabelle EMPLOYEE anzeigt, einen Mitarbeiter aus. Ändern Sie das Gehalt des Mitarbeiters, und klicken Sie anschließend zum Aktualisieren der Datenbank im TDBNavigator auf die Schaltfläche Übernehmen (Häkchen). Dadurch wird das untere TDBGrid, das die Tabelle SALARY_HISTORY enthält, aktualisiert und die Änderung angezeigt.

SalaryChangeAuditingPost.png


Diese Tabelle wird aktualisiert, weil im TDataModule "DmCSDemo" die Ereignisbehandlungsroutine TDmEmployee.EmployeeTableAfterPost vorhanden ist. Dieses Ereignis wird ausgelöst, nachdem in dem TDataModule "DmCSDemo" für die TIBDataSet-Tabelle "EmployeeTable" Übernehmen ausgewählt wurde. TDmEmployee.EmployeeTableAfterPost aktualisiert die TIBDataSet-Tabelle "SalaryHistoryTable", wenn sie aktiv ist.

Zurück

Hinzufügen eines Datenmoduls

Weiter

Ermitteln der Projektzuordnungen von Mitarbeitern mit einer Stored Procedure