Tutorial: Verwenden von FireDAC aus einer geräteübergreifenden Anwendung auf Desktop-Plattformen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Tutorials zu Datenbanken und LiveBindings

In diesem Tutorial werden die grundlegenden Schritte zum Durchsuchen der von InterBase ToGo verwalteten Daten mithilfe des FireDAC-Frameworks unter Windows und auf dem Mac beschrieben.

Tipp: Für die Bearbeitung dieses Tutorials ist eine Lizenz für IBToGo erforderlich. Wenn Sie eine Testversion verwenden und InterBase auf dem Mac testen möchten, können Sie während der Testphase auf eine IBToGo-Bereitstellungslizenz für die Testversion zugreifen. Klicken Sie auf den folgenden Link, um Ihre Bereitstellungslizenz für die Testversion zu aktivieren: InterBase ToGo Deployment (EN).

Herstellen einer Verbindung zu der Datenbank mit FireDAC

FireDAC ist ein einzigartiger Satz von Komponenten für den universellen Datenzugriff zur Entwicklung von plattformübergreifenden Datenbankanwendungen für Delphi, C++Builder und FreePascal. Durch seine leistungsstarke allgemeine Architektur ermöglicht FireDAC von Delphi aus einen nativen, extrem schnellen, direkten Zugriff auf InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, IBM DB2, SQL Anywhere, Access, Firebird, Informix und weitere.

Der native FireDAC-Treiber für InterBase unterstützt Embarcadero InterBase Server, Desktop, Developer, ToGo (EN) und IBLite Version 6 und höher.

  • Zum Durchsuchen der von Interbase ToGo verwalteten Daten unter Windows muss für FireDAC die folgende x86- oder x64-Clientsoftware auf dem Arbeitsplatzrechner installiert sein:
    • Die Bibliothek IBTOGO.DLL unterstützt die Arbeit mit Datenbanken mit eingebettetem InterBase ToGo oder IBLite von x86-Anwendungen aus.
    • Die Bibliothek IBTOGO64.DLL unterstützt die Arbeit mit Datenbanken mit eingebettetem InterBase ToGo oder IBLite von x64-Anwendungen aus.
  • Um von InterBase ToGo verwaltete Daten unter OS X durchsuchen zu können, benötigt FireDAC die eingebettete InterBase-x86-Datei libibtogo.dylib.

Entwerfen und Einrichten der Benutzeroberfläche

Erstellen Sie ein neues Projekt. Wählen Sie eine Geräteübergreifende HD-Anwendung.

  1. Legen Sie eine TFDConnection-Komponente auf dem Formular ab.
  2. Klicken Sie mit der rechten Maustaste auf die TFDConnection-Komponente, und wählen Sie Verbindungseditor.
  3. Legen Sie im FireDAC-Verbindungseditor die folgenden Parameter der TFDConnection-Komponente fest:
    1. Legen Sie die Eigenschaft Treiber-ID auf IB fest.
    2. Legen Sie den Parameter Database auf C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Data\EMPLOYEE.GDB (Speicherort der Datenbank) fest.
    3. Legen Sie den Parameter User_name auf sysdba fest.
    4. Legen Sie den Parameter Password auf masterkey fest.
      ConnectionEditor2.png

    5. Klicken Sie auf die Schaltfläche Testen, um die Verbindung zu testen.
      TestConnectionSuccess.png

    6. Klicken Sie auf OK, um den Verbindungseditor zu schließen.
  4. Legen Sie im Objektinspektor die folgenden Eigenschaften der TFDConnection-Komponente fest:
    1. Setzen Sie die Eigenschaft LoginPrompt auf False, damit der Benutzer nicht zur Eingabe von Anmeldedaten aufgefordert wird.
    2. Setzen Sie die Eigenschaft Connected auf True.

Verwenden des LiveBindings-Experten

Verwenden Sie den LiveBindings-Experten, um die LiveBindings-Komponenten (TBindSourceDB, TBindNavigator), TFDQuery und Grid hinzuzufügen.

Hinzufügen der LiveBinding-Komponenten

  1. Wählen Sie Ansicht > LiveBindings-Designer. Der LiveBindings-Designer wird geöffnet.
  2. Wählen Sie LiveBindings-Experte (LBDLiveBindingsWizard.png).
    SelectLiveBindWizard.png

  3. Wählen Sie auf der Seite Bindungsaufgabe die Option Datenquelle erstellen, und klicken Sie auf Weiter.
  4. Wählen Sie auf der Seite Datenquelle die Option FireDAC, und klicken Sie auf Weiter.
  5. Ändern Sie den Befehlstyp in Abfrage.
  6. Legen Sie die Eigenschaft Befehlstext auf select * from employee fest.
    LiveBindingWizard.png

  7. Klicken Sie auf die Schaltfläche Befehl testen.
  8. Klicken Sie auf die Schaltfläche Weiter.
  9. Wählen Sie Datenquellennavigator hinzufügen.
  10. Klicken Sie auf die Schaltfläche Fertig stellen.

Damit wurden die Komponenten TBindSourceDB, TBindNavigator und TFDQuery Ihrem Formular hinzugefügt.

Hinzufügen der Gitter-Komponente

  1. Öffnen Sie erneut den LiveBindings-Experten.
  2. Wählen Sie die Bindungsaufgabe Gitter mit einer Datenquelle verknüpfen aus.
    LinkGrid.png

  3. Klicken Sie auf die Schaltfläche Weiter.
  4. Wählen Sie TSringGrid aus.
  5. Klicken Sie auf die Schaltfläche Weiter.
  6. Wählen Sie BindSourceDB1 aus.
  7. Klicken Sie auf die Schaltfläche Fertig stellen, um den Experten zu schließen.

Das Bindungsdiagramm sollte wie in der folgenden Abbildung dargestellt aussehen:
Diagram.png

Vorbereiten der Anwendung für die Ausführung

FireDAC verfügt über eine lose verbundene mehrschichtige Architektur, in der Dienste von Schichten bereitgestellt werden. Eine Dienst-API ist als COM-Interface definiert, das von anderen Schichten über den Interface-Generator angefordert werden kann.

Für die ordnungsgemäße Ausführung von FireDAC müssen Sie die Implementierung der Interfaces IFDGUIxWaitCursor und IFDPhysDriver in Ihre Anwendung einbinden.

  1. Wählen Sie die Komponente NavigatorBindSourceDB1 aus, und setzen Sie die Eigenschaft Align auf Top.
  2. Wählen Sie die Komponente StringGridBindSourceDB1 aus, und legen Sie die Eigenschaft Align auf Client fest.
  3. Ziehen Sie die Komponenten TFDGUIxWaitCursor und TFDPhysIBDriverLink auf das Formular.
    FormComponentsAdded.png

Bereitstellen Ihrer Anwendung unter OS X

Bis jetzt haben Sie InterBase auf dem Desktop verwendet. Das bedeutet, dass sich die eigentliche Datenbank auf Ihrer lokalen Festplatte (z. B. C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Data\EMPLOYEES.GDB) befindet. Zum Bereitstellen der Anwendung unter OS X müssen Sie die Datenbankdatei in das Mac OS-Dateisystem kopieren (z. B. /Users/<user>/EMPLOYEE.GDB). Außerdem müssen die InterBase ToGo-Dateien für OS X bereitgestellt werden.

Bereitstellen von InterBase ToGo für OS X

  1. Öffnen Sie den Bereitstellungs-Manager durch Auswahl von Projekt > Bereitstellung.
  2. Wählen Sie in der Dropdown-Liste der Zielplattformen oben im Bereitstellungs-Manager den Eintrag Alle Konfigurationen - OS X-Plattform aus.
  3. Wählen Sie Weitere Dateien hinzufügen (DMgrAddFeatFiles.png):
    AddingFeaturedFiles.png

  4. Wählen Sie das InterBase ToGo-Datenbankmodul aus, und klicken Sie dann auf OK, um das Dialogfeld Weitere Dateien zu schließen:
    FeaturedFilesOSX.png

    Möglicherweise haben Sie von Embarcadero eine Lizenzdatei für ToGo mit dem Muster reg_nnnnnnn.txt (reg_nnnnnnn.txt ist eine generierte Zahl) erhalten:
    • Wenn Sie die Datei unter dem Namen reg_ibtogo.txt (im Verzeichnis C:\Users\Public\Documents\Embarcadero\InterBase\redist\InterBaseXE7) gespeichert haben, können Sie einfach die gewünschte Lizenz auswählen.
    • Wenn Sie die Datei unter ihrem Originalnamen gespeichert haben, dann wählen Sie Dateien hinzufügen und nehmen die Lizenzdatei in die Liste der für die Bereitstellung der Anwendung erforderlichen Dateien auf.

Ändern des Codes für die Verbindung zu einer lokalen Datenbankdatei unter OS X

Wie im vorigen Schritt beschrieben, wird die TFDConnection-Komponente mit einer Datenbank unter Windows verbunden. Deshalb müssen Sie den Speicherort der Datei vor dem Herstellen einer Verbindung zu der Datenbank wie folgt ändern:

  1. Wählen Sie im Formular-Designer die FDConnection1-Komponente aus.
  2. Doppelklicken Sie im Objektinspektor auf das Feld Wert des BeforeConnect-Ereignisses.
  3. Fügen Sie den folgenden Code für diese Ereignisbehandlungsroutine hinzu:
 procedure TForm9.FDConnection1BeforeConnect(Sender: TObject);
 begin
 {$IFDEF MACOS}
   FDConnection1.Params.Values['Database']:= '$(DOC)/EMPLOYEE.GDB';
 {$ENDIF}
 end;

Beachten Sie, dass $(DOC) eine Pfadvariable ist, mit der Sie die Eingabe von Pfadausdrücken vereinfachen können. Unter OS X zeigt die Variable $(DOC) auf das Stammverzeichnis des Benutzers (/Users/<user>).

Ausführen der Anwendung unter Windows und OS X

Ihre Anwendung kann nun ausgeführt werden. Sie sollten genau wie in der IDE die Daten durchsuchen können. Sie können mit der TBindNavigator-Komponente auch Datensätze der Datenbank ändern.

So führen Sie die Anwendung aus:

  1. Wählen Sie in der Projektverwaltung die Zielplattform aus.
    ProjectManagerSelectTarget.png
  2. Wählen Sie einen der folgenden Befehle aus:
    • Start > Start
    • Start > Ohne Debugger ausführen


RunTimeMac.png

Siehe auch