In den meisten modernen Datenbankanwendungen ist eine Art grafische Datendarstellung vorzuziehen oder sogar erforderlich. Zu diesem Zweck enthält Delphi mehrere datensensitive Komponenten: DBImage, DBChart, DecisionChart usw. Das DBImage ist eine Erweiterung einer Image-Komponente, die ein Bild in einem BLOB-Feld anzeigt. Kapitel 3 dieses Datenbankkurses befasste sich mit der Anzeige von Bildern (BMP, JPEG usw.) in einer Access-Datenbank mit ADO und Delphi. Das DBChart ist eine datenbewusste Grafikversion der TChart-Komponente.
In diesem Kapitel möchten wir Ihnen das TDBChart vorstellen, indem wir Ihnen zeigen, wie Sie einige grundlegende Diagramme in Ihre Delphi ADO-basierte Anwendung integrieren.
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 seine 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 von DBChart mit dem TeeChart-Diagrammmodul können Sie schnell und ohne Code Diagramme direkt für die Daten in Datensätzen erstellen. 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 bisschen, wie Sie sehen werden. Der Diagrammeditor führt Sie durch die Schritte zum Herstellen einer Verbindung zu Ihren Daten. Sie müssen nicht einmal den Objektinspektor aufrufen.
Laufzeit-TeeChart-Bibliotheken sind Bestandteil 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 Seite Decision Cube der Komponentenpalette.
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 dazu ein Delphi-Formular wie folgt:
1. Starten Sie eine neue Delphi-Anwendung. Standardmäßig wird ein leeres Formular erstellt.
2. Platzieren Sie die nächste Gruppe von Komponenten in dem 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. Stellen Sie mit dem ConnectionString der ADOConnection-Komponente eine Verbindung zu unserer Demo-Datenbank (aboutdelphi.mdb) her.
5. Wählen Sie die ADOQuery-Komponente aus und weisen Sie der SQL-Eigenschaft die nächste Zeichenfolge zu:
SELECT TOP 5 Kunden.Unternehmen,Diese Abfrage verwendet zwei Tabellen: Aufträge und Kunden. Beide Tabellen wurden aus der (BDE / Paradox) DBDemos-Datenbank in unsere Demo-Datenbank (MS Access) importiert. Diese Abfrage führt zu einer Datensatzgruppe mit nur 5 Datensätzen. Das erste Feld ist der Firmenname, das zweite (SumItems) ist eine Summe aller Bestellungen der Firma und das dritte Feld (NumOrders) repräsentiert die Anzahl der Bestellungen der Firma. Beachten Sie, dass diese beiden Tabellen in einer Master-Detail-Beziehung verknüpft sind.
SUM (orders.itemstotal) AS SumItems,
COUNT (orders.orderno) ALS NUMMERN
VOM Kunden, Bestellungen
WO customer.custno = orders.custno
GROUP BY customer.Company
AUFTRAG NACH SUMME (orders.itemstotal) DESC
7. Setzen Sie ADOQuery.Active im Objektinspektor auf True, um die Ergebnismenge zur Entwurfszeit anzuzeigen.