Charting mit Datenbanken: DB-Kurs

click fraud protection

In den meisten modernen Datenbankanwendungen eine Art grafische Datendarstellung ist vorzuziehen oder sogar erforderlich. Für solche Zwecke Delphi Enthält mehrere datensensitive Komponenten: DBImage, DBChart, DecisionChart usw. Das DBImage ist eine Erweiterung einer Bildkomponente, die ein Bild in einem BLOB-Feld anzeigt. Kapitel 3 davon Datenbankkurs Die Anzeige von Bildern (BMP, JPEG usw.) in einer Access-Datenbank mit ADO und Delphi wurde erläutert. Das DBChart ist eine datensensitive Grafikversion der TChart-Komponente.

Unser Ziel in diesem Kapitel ist es, das TDBChart vorzustellen, indem wir Ihnen zeigen, wie Sie einige grundlegende Diagramme in Ihre Delphi ADO-basierte Anwendung integrieren.

TeeChart

Die DBChart-Komponente ist ein leistungsstarkes Tool zum Erstellen von Datenbankdiagrammen und -diagrammen. Es ist nicht nur mächtig, sondern auch komplex. Wir werden nicht alle Eigenschaften und Methoden untersuchen, daher müssen Sie damit experimentieren, um herauszufinden, wozu es in der Lage ist und wie es Ihren Anforderungen am besten entspricht. Durch die Verwendung des DBChart mit dem

instagram viewer
TeeChart Mit der Diagramm-Engine können Sie schnell Diagramme direkt für die Daten in Datensätzen erstellen, ohne dass Code erforderlich ist. TDBChart stellt eine Verbindung zu einer beliebigen Delphi DataSource her. ADO-Recordsets werden nativ unterstützt. Es ist kein zusätzlicher Code erforderlich - oder nur ein wenig, wie Sie sehen werden. Der Diagrammeditor führt Sie durch die Schritte zum Herstellen einer Verbindung zu Ihren Daten. Sie müssen nicht einmal zum Objektinspektor wechseln.

Laufzeit-TeeChart-Bibliotheken sind Teil der Delphi Professional- und Enterprise-Versionen. TChart ist auch in QuickReport mit einer benutzerdefinierten TChart-Komponente in der QuickReport-Palette integriert. Delphi Enterprise enthält ein DecisionChart-Steuerelement auf der Decision Cube-Seite der Komponentenpalette.

Vorbereitung zum Diagramm

Unsere Aufgabe wird es sein, ein einfaches Delphi-Formular mit einem Diagramm zu erstellen, das mit Werten aus einer Datenbankabfrage gefüllt ist. Erstellen Sie anschließend ein Delphi-Formular wie folgt:

1. Starten Sie eine neue Delphi-Anwendung. Standardmäßig wird ein leeres Formular erstellt.

2. Platzieren Sie die nächsten Komponenten im Formular: ADOConnection, ADOQuery, DataSource, DBGrid und ein DBChart.

3. Verwenden Sie den Objektinspektor, um ADOQuery mit ADOConnection, DBGrid mit DataSource mit ADOQuery zu verbinden.

4. Richten Sie mithilfe des ConnectionString der ADOConnection-Komponente einen Link zu unserer Demo-Datenbank (aboutdelphi.mdb) ein.

5. Wählen Sie die ADOQuery-Komponente aus und weisen Sie der SQL-Eigenschaft die nächste Zeichenfolge zu:

WÄHLEN SIE TOP 5 Kunden. Unternehmen,
SUMME (orders.itemstotal) AS SumItems,
COUNT (orders.orderno) AS NumOrders
VOM Kunden, Bestellungen
WO customer.custno = orders.custno
GRUPPE NACH Kunden. Unternehmen
ORDER BY SUM (orders.itemstotal) DESC
Diese Abfrage verwendet zwei Tabellen: Bestellungen und Kunden. Beide Tabellen wurden aus der DBDemos-Datenbank (BDE / Paradox) in unsere Demo-Datenbank (MS Access) importiert. Diese Abfrage führt zu einem Recordset mit nur 5 Datensätzen. Das erste Feld ist der Firmenname, das zweite (SumItems) ist eine Summe aller Bestellungen des Unternehmens und das dritte Feld (NumOrders) gibt die Anzahl der Bestellungen des Unternehmens an. Beachten Sie, dass diese beiden Tabellen in einer Master-Detail-Beziehung verknüpft sind.
6. Erstellen Sie eine persistente Liste von Datenbankfeldern. (Um den Feldeditor aufzurufen, doppelklicken Sie auf die ADOQuery-Komponente. Standardmäßig ist die Liste der Felder leer. Klicken Sie auf Hinzufügen, um ein Dialogfeld mit den von der Abfrage abgerufenen Feldern (Firma, NumOrders, SumItems) zu öffnen. Standardmäßig sind alle Felder ausgewählt. Wählen Sie OK.) Auch wenn Sie für die Arbeit mit einer DBChart-Komponente keine dauerhaften Felder benötigen, erstellen wir diese jetzt. Die Gründe werden später erklärt.

7. Stellen Sie ADOQuery ein. Aktiv bis True im Objektinspektor, um die resultierende Menge zur Entwurfszeit anzuzeigen.

instagram story viewer