I de fleste moderne databaseapplikationer en slags grafisk datarepresentation er at foretrække eller endda kræves. Til sådanne formål Delphi inkluderer flere databevidste komponenter: DBImage, DBChart, DecisionChart osv. DBImage er en udvidelse til en billedkomponent, der viser et billede i et BLOB-felt. Kapitel 3 i dette databasekurs drøftede visning af billeder (BMP, JPEG osv.) i en Access-database med ADO og Delphi. DBChart er en datavisst grafisk version af TChart-komponenten.
Vores mål i dette kapitel er at introducere TDBChart ved at vise dig, hvordan du integrerer nogle grundlæggende diagrammer i din Delphi ADO-baserede applikation.
TeeChart
DBChart-komponenten er et kraftfuldt værktøj til at oprette databasekort og grafer. Det er ikke kun stærkt, men også komplekst. Vi vil ikke udforske alle dens egenskaber og metoder, så du bliver nødt til at eksperimentere med det for at finde ud af alt, hvad det er i stand til, og hvordan det bedst kan passe til dine behov. Ved at bruge DBChart med
TeeChart charting engine kan du hurtigt lave grafer direkte til dataene i datasæt uden at kræve nogen kode. TDBChart opretter forbindelse til enhver Delphi DataSource. ADO-recordsæt understøttes naturligt. Ingen yderligere kode kræves - eller bare lidt, som du vil se. Chart editor leder dig gennem trinnene for at oprette forbindelse til dine data - du behøver ikke engang at gå til Object Inspector.Runtime TeeChart-biblioteker er inkluderet som en del af Delphi Professional- og Enterprise-versionerne. TChart er også integreret med QuickReport med en brugerdefineret TChart-komponent på QuickReport-paletten. Delphi Enterprise inkluderer en DecisionChart-kontrol på siden Decision Decision Cube i Component-paletten.
Klargøring til kort
Vores opgave vil være at oprette en simpel Delphi-formular med et diagram fyldt med værdier fra en databaseforespørgsel. For at følge med skal du oprette en Delphi-formular som følger:
1. Start en ny Delphi-applikation - en tom form oprettes som standard.
2. Placer det næste sæt komponenter på formularen: ADOConnection, ADOQuery, DataSource, DBGrid og en DBChart.
3. Brug objektinspektøren til at forbinde ADOQuery med ADOConnection, DBGrid med DataSource med ADOQuery.
4. Opret et link til vores demodatabase (aboutdelphi.mdb) ved hjælp af ConnectionString for ADOConnection-komponenten.
5. Vælg ADOQuery-komponenten, og tildel den næste streng til SQL-egenskaben:
VÆLG TOP 5-kunde. Selskab,Denne forespørgsel bruger to tabeller: ordrer og kunde. Begge tabeller blev importeret fra (BDE / Paradox) DBDemos-databasen til vores demodatabase (MS Access). Denne forespørgsel resulterer i et postsæt med kun 5 poster. Det første felt er firmanavnet, det andet (SumItems) er en sum af alle ordrer foretaget af virksomheden, og det tredje felt (NumOrders) repræsenterer antallet af ordrer, der blev foretaget af virksomheden. Bemærk, at disse to tabeller er forbundet i et forhold mellem master-detaljer.
SUM (orders.itemstotal) AS SumItems,
COUNT (orders.orderno) AS NumOrders
FRA kunde, ordrer
HVOR customer.custno = orders.custno
GRUPPE AF kunde. Selskab
BESTILLING AF SUM (orders.itemstotal) DESC
6. Opret en vedvarende liste over databasefelter. (For at påberope Fields Editor dobbeltklikke på ADOQuery-komponenten. Som standard er listen over felter tom. Klik på Tilføj for at åbne en dialogboks, der viser de felter, der er hentet af forespørgslen (Firma, NumOrders, SumItems). Som standard er alle felter valgt. Vælg OK.) Selvom du ikke har brug for et vedvarende sæt felter for at arbejde med en DBChart-komponent - opretter vi det nu. Årsagerne vil blive forklaret senere.
7. Indstil ADOQuery. Aktiv til sand i objektinspektøren for at se det resulterende sæt på designtidspunktet.