Umstieg von VFP nach Delphi (Teil 4)

Im Rahmen meiner Serie von „VFP nach Delphi“ wird es nun Zeit für ein kleines Beispielprogramm, welches aufzeigt, wie man unter Delphi auf Daten zugreift und mit diesen arbeitet.

Im Beispielprogramm greifen wir natürlich auf eine Foxpro-Tabelle (DBF) zu, hierbei handelt es sich um eine kleine Adressdatei vom Typ DBF, eine DBC Datei ist nicht vorhanden, wäre aber auch kein Problem. Der Zugriff erfolgt über die dbGo-Komponenten (Ado-Connection).

Zunächst gilt es ein neues Projekt anzulegen: Datei – Neu – VCL Formularanwendung.
Nun steht uns eine erste Form zur Verfügung.

In VFP verwenden Sie vielleicht ein DataEnvironment, um Ihre Tabellen für die jeweilige Form zu definieren/öffnen.

In Delphi gibt es hierfür ein DataModule – vom Prinzip her nichts anderes als ein abgespecktes Forumlar.
Klicken Sie in der Projektverwaltung mit rechts auf Ihr Projekt und wählen Sie „Neue hinzufügen -> Weitere“ und wählen Sie aus dem Angebot „Datenmodul“

Speichern Sie dieses noch leere Modul, z.B. unter dem Namen „Datamod“ und geben Sie als Namen für das Modul im Objektinspektor „dmMainform“ ein.

Nun wechseln Sie zu Ihrem Formular, gehen Sie zur Code-Ansicht und fügen Sie das eben erstellte Datenmodul der Uses List hinzu. Das Formular selber wurde unter dem Namen Mainform gespeichert. Das Ganze sieht nun so aus:

unit mainform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,datamod;

Datenkomponenten dem Datenmodul hinzufügen

Wechseln Sie zum Datenmodul, öffnen Sie aus der Komponentenpalette die Palette dbGo. Fügen Sie von hier folgende 2 Komponenten dem Datenmodul hinzu:

AdoTable
AdoConnection

In den Eigenschaften für AdoTable verbinden Sie beide miteinander, in dem Sie unter Connection die AdoConnection-Komponente auswählen.

Desweiteren fügen wir aus der Palette Datenzugriff eine TDataSource-Komponente dem Datenmodul hinzu.
Markieren Sie diese und verbinden Sie TDataSource  im Objektinspektor mit der AdoTable-Komponente über die Eigenschaft TDataset.

Das ganze sieht dann so aus:

Datenmodul mit AdoNet-Komponenten (dbGo)

Datenmodul mit AdoNet-Komponenten (dbGo)

TDataSource ist nicht zwingend notwendig für eine Datenbankanwendung, ermöglicht aber die direkte Anbindung Ihrer Datenbank an DB-Komponenten, wie z.B. ein Grid.

Um auf unsere Beispiel – DBF zuzugreifen gilt es natürlich eine Verbindung zu dieser zu definieren. Voraussetzung dafür ist ein installierter VFP-OleDB – Treiber, was bei einer vorhandenen VFP-Installation gegeben sein sollte.

Markieren Sie hierzu AdoConnection und klicken Sie auf die Schaltfläche rechts im Objektinspektor neben ConnectionString um eine Verbindung und die notwendigen Eigenschaften per Dialog einzustellen. Theoretisch können Sie natürlich auch einen eigenen Connection String direkt eingeben, aber der Dialog macht es doch erheblich leichter.

Klicken Sie im sich öffnenden Dialog auf Aufbauen und wählen Sie zunächst den Microsoft OLE DB Provider für Visual Foxpro aus:

AdoConnection definieren

AdoConnection definieren

Wechseln Sie Verbindung, um eine DBC oder ein Verzeichnis (letzteres für unser Beispiel, da es sich „nur“ um eine freie Tabelle handelt):

AdoConnection - Verbindung definieren

AdoConnection – Verbindung definieren

Klicken Sie OK. Unter Erweitert können Sie noch den Art des Zugriffs einstellen – für unser Beispiel ReadWrite. Weitere Eigenschaften finden Sie auch unter Alle.

Beenden Sie den Dialog. Delphi erstellt Ihnen nun den notwendigen ConnectionString. Stellen Sie nun die Verbindung her, indem Sie Connected auf True setzen. LoginPrompt sollte auf False gesetzt werden. Alles geklappt? Prima, dann sollten Sie nun unter Eigenschaften unserer AdoTable-Komponente unter Table die kleine Adress-DBF auswählen können.

Wenn alles gut gelaufen ist, können Sie nun ebenso Active auf True setzen, um die Tabelle zu öffnen.
Ihre Tabelle ist nun geöffnet. Zum Abschluß unseres 4. Teils der Serie „Von  VFP nach Delphi“ wäre es nun natürlich auch schön unsere Daten sehen zu können. Und das ist sogar möglich, ohne dass Sie das Programm kompilieren müssen.

Wechseln Sie hierfür zu unserem Hauptformular Mainform. Fügen Sie nun aus der Palette Datensteuerung eine TDBGrid sowie eine TDBEdit-Komponente dem Formular hinzu.

Markieren Sie das Grid. Unter Datasource können Sie nun die TDataSource – Komponente aus dem Datenmodul zuweisen. Da die Tabelle bereits offen ist, werden Ihre Daten live in der Entwicklungsumgebung angezeigt:

Live Ansicht einer DBF-Tabelle unter Delphi

Live Ansicht einer DBF-Tabelle unter Delphi

Um die Daten auch in der Edit-Komponente anzuzeigen, weisen Sie dort auch die DataSource -Komponente zu und wählen das anzuzeigende Feld unter Datafield aus.

Das Beispiel dient natürlich nur Demonstrationszwecken – tatsächlich würde man den Aufbau eines Programms eher codebasiert vornehmen. Zudem können wir in diesem Moment unsere Daten zwar bewundern, aber da dies dann doch auf Dauer etwas langweilig würde, beschäftigt sich der nächste Teile der Serie mit Bearbeiten, Hinzufügen oder Löschen von Datensätzen, ebenso natürlich mit SQL-Queries, um z.B. Teilmengen Ihrer Daten zu erhalten.

Prinzipiel finden Sie diese Grundtechniken dann übrigens in praktisch allen Datenbanken wieder, d.h., wenn Sie die Grundprinzipien einmal anwenden können, so fällt es Ihnen leicht mit praktisch jeder Datenbank zu arbeiten.
Natürlich bietet jedes DB-System seine individuellen Erweiterungen und Eigenheiten,  so dass es in Möglichkeiten und hinsichtlich Komplexität sicher nicht langweilig wird :)

 

Werbung & Infos:

HP Osterangebote 2024


WebSite X5WebSite X5 Angebot mit 40% Rabatt

Professionelle Homepages ohne Programmierung erstellen mit WebSite X5 und dabei aktuell 40% sparen:

WebSite X5 Evo jetzt bereits für 53,97 statt 89,95 €

WebSite X5 Pro jetzt bereits für 119,98 statt 199,95 €

Unbekannt, wie lange das Angebot gilt



Verwandte Themen: