I de flesta moderna databasapplikationer någon form av grafisk datarepresentation är att föredra eller till och med krävs. För sådana ändamål, Delphi innehåller flera datamedvetna komponenter: DBImage, DBChart, DecisionChart, etc. DBImage är ett tillägg till en bildkomponent som visar en bild i ett BLOB-fält. Kapitel 3 i detta databas kurs diskuterade visning av bilder (BMP, JPEG, etc.) i en Access-databas med ADO och Delphi. DBChart är en datavetenskaplig grafisk version av TChart-komponenten.
Vårt mål i detta kapitel är att introducera TDBChart genom att visa hur du integrerar några grundläggande diagram i din Delphi ADO-baserade applikation.
TeeChart
DBChart-komponenten är ett kraftfullt verktyg för att skapa databasdiagram och diagram. Den är inte bara kraftfull utan också komplex. Vi kommer inte att utforska alla dess egenskaper och metoder, så du måste experimentera med det för att upptäcka allt det kan och hur det bäst kan passa dina behov. Genom att använda DBChart med TeeChart kartläggningsmotor kan du snabbt göra grafer direkt för data i datauppsättningar utan att behöva någon kod. TDBChart ansluter till alla Delphi DataSource. ADO-uppsättningar stöds naturligt. Ingen ytterligare kod krävs - eller bara lite som du ser. Diagramredigeraren guidar dig genom stegen för att ansluta till dina data - du behöver inte ens gå till objektinspektören.
Runtime TeeChart-bibliotek ingår som en del av Delphi Professional- och Enterprise-versionerna. TChart är också integrerad i QuickReport med en anpassad TChart-komponent på QuickReport-paletten. Delphi Enterprise innehåller en DecisionChart-kontroll på beslutskubsidan på komponentpaletten.
Förbereder att kartlägga
Vår uppgift kommer att vara att skapa ett enkelt Delphi-formulär med ett diagram fylld med värden från en databasfråga. För att följa med, skapa ett Delphi-formulär enligt följande:
1. Starta en ny Delphi-applikation - ett tomt formulär skapas som standard.
2. Placera nästa uppsättning komponenter på formuläret: ADOConnection, ADOQuery, DataSource, DBGrid och en DBChart.
3. Använd objektinspektören för att ansluta ADOQuery med ADOConnection, DBGrid med DataSource med ADOQuery.
4. Ställ in en länk med vår demodatabas (aboutdelphi.mdb) genom att använda ConnectionString för ADOConnection-komponenten.
5. Välj ADOQuery-komponenten och tilldela nästa sträng till SQL-egenskapen:
VÄLJ TOP 5-kund. Företag,Denna fråga använder två tabeller: order och kund. Båda tabellerna importerades från (BDE / Paradox) DBDemos-databas till vår demodatabas (MS Access). Denna fråga resulterar i en inspelningssats med endast fem poster. Det första fältet är företagsnamnet, det andra (SumItems) är en summa av alla order som gjorts av företaget och det tredje fältet (NumOrders) representerar antalet beställningar som gjordes av företaget. Observera att dessa två tabeller är länkade i en detalj-relation.
SUM (orders.itemstotal) AS SumItems,
COUNT (orders.orderno) AS NumOrders
FRÅN kund, beställningar
VAR kund.custno = order.custno
GRUPP AV kund. Företag
BESTÄLLNING AV SUM (orders.itemstotal) DESC
6. Skapa en ihållande lista med databasfält. (För att åberopa Fields Editor dubbelklickar du på ADOQuery-komponenten. Som standard är listan med fält tom. Klicka på Lägg till för att öppna en dialogruta som visar fälten som hämtats av frågan (Företag, NumOrders, SumItems). Som standard är alla fält markerade. Välj OK.) Även om du inte behöver en ihållande uppsättning fält för att fungera med en DBChart-komponent - skapar vi den nu. Skälen kommer att förklaras senare.
7. Ställ in ADOQuery. Aktiv till sann i objektinspektören för att se den resulterande uppsättningen vid designtid.