Delphi - Database componenten
1. Database componenten
In Delphi zijn de database componenten grofweg op te delen in twee groepen :
De data acces componenten verzorgen het contact met de tabellen op schijf terwijl
de gegevensgevoelige componenten er voor zorgen dat de gegevens zichtbaar en bewerkt
kunnen worden.
2. Data Acces componenten
In deze paragraaf worden enkele belangrijke data acces componenten besproken.
2.1 Het Table component - de verbinding met de fysiek tabel
Het Table component (van het type TTable) is één van de
belangrijkste Data Acces component binnen Delphi.
Het Table component verzorgt de verbinding tussen de fysieke tabel op schijf en het
programma.
Enkele belangrijke properties (eigenschappen) van dit component zijn :
Daarnaast zijn er nog veel meer properties, waarvan enkele verderop nog
besproken worden, maar voor alle properties zie bijv. de Delphi Help.
Zoals gezegd is de property Fields belangrijk. Deze property erft TTable van
TDataSet en is een lijst met objecten van het
type TField. Deze lijst zijn de kollomen van de tabel.
Deze lijst wordt automatisch aangemaakt als de tabel op schijf geopend wordt, en
weer verwijdert als de tabel gesloten wordt.
Voor elk type field bestaan er verschillende TField-klasse zoals TStringField voor
strings, TIntegerField voor integers etc.
Er kan ook gekozen worden om met z.g. persistente velden te werken, van elk Field
wordt er een type opgenomen op het formulier, en
de lijst wordt dan niet meer automatisch aangemaakt. Let op, indien de fysieke
tabel wijzigt wijzigt het formulier niet.
Je kan met persistente velden werken door dubbel te klikken op het Table component,
en alle velden toe te voegen.
Op deze manier kunnen ook z.g. calculated fields toegevoegd worden, dit zijn velden
welke niet fysiek op schijf bestaan, maar wel binnen het programma
als zodanig behandelt kunnen worden.
Middels de properties Mastersource en Masterfields kunnen Tables
als detail table ingesteld worden op andere tables. (Master-detail relatie)
Dit houdt in dat de table die een mastersource ingesteld heeft automatisch
gefilterd word op basis van het ingestelde Masterfield.
2.2 Het Datasource component
Het Datasource component (van het type TDatasource)
communiceert met het Table component via de lijst Fields en stelt de
gegevens beschikbaar voor de data ware componenten. Alle dataware componenten
hebben minimaal een property DataSource, waarmee
dus aangegeven wordt uit welke Table-component de gegevens komen.
Middels de propertie DataSet kan het TTable component ingesteld worden.
2.3 Het query component
Met query component (van type TQuery) kun je SQL-queries
loslaten op tabellen.
De resultaten (ook wel de resultset genoemd) van de query kunnen net als bij een
Table component via een DataSource bekeken worden.
Een Query component is (ook hiearchisch gezien) strikt genomen niets anders dan een
Table component, met dit verschil dat een Query component slechts de
gegevens laten zien die voldoen aan de SQL query.
Enkele belangrijke properties zijn :
Feitelijk heb je de volgende componenten nodig om een werkend voorbeeld te krijgen :
Van fysieke tabel naar resultset van query in een dbgrid :

2.4 Het StoredProc component
Met dit component (van het type TStoredProc) kunnen z.g.
procedures of queries uitgevoerd worden die op de server bewaard worden. Je kan dit
gebruiken als je bijvoorbeeld
een binnen Access opgeslagen query wilt uitvoeren.
2.5 Het database component en Session component
Het database component (van het type TDatabase) wordt gebruikt om specifiek database taken voor de BDE connectie uit te voeren, zoals bijvoorbeeld een login procedure en een transactie protocol. Daarboven kan nog een Session component (van het type TSession) staan voor het management van verschillende database connecties.
2.6 Events van data acces componenten
In dit hoofdstuk hebben we tot nu toe alleen gekeken naar de componenten en
enkele belangrijke properties. Naast de properties zijn er natuurlijk de events.
Delphi biedt veel events voor deze componenten, alleen het TTable component heeft
er al 28 ! Het zou een beetje saai worden om die hier allemaal
te gaan bespreken. Kijk zelf eens naar de events in de Object Inspector en probeer
ze uit. Kijk ook in de Delphi Help.
3. Data Aware componenten
De dataware componenten bevinden zich in de tab Data Controls van
Delphi.
Met deze controls kan de data bekeken en bewerkt worden.
Data aware componenten hebben minimaal een propertie DataSource, zoals bijv. de DBGrid en
de DBNavigator.
Componenten die op veld niveau werken zoals bijvoorbeeld DBEdit hebben ook een propertie
DataField waarmee het specifieke dataveld ingesteld kan worden.
Deze componenten tonen altijd de waarde (value) van het huidige record.
In dit paper zijn, met name de data access componenten besproken.
In het volgende paper zullen de methods, events en de data aware componenten uitgebreid
aan bod komen.
Klik hier voor het volgende paper in deze tutorial : Delphi - database methods en events.