Datenbanken Verschiedene Komponenten zur Anbindung Zugriffe auf Datenbankinhalte Reportgenerator RAVE
Wie ist eine Datenbank aufgebaut? Eine Datenbank enthält mehrere Datentabellen Eine Datentabelle enthält Datensätze (Zeilen)
Verbindung mittels BDE/ODBC-Alias BDE = Borland Database Engine Über ihre Schnittstelle lassen sich die verschiedensten Datanbanken ansprechen ODBC = Open DataBase Connectivity Erlaubt Verbindungen zu Datenbanken unabhängig vom Betriebssystem und Programm
BDE-Alias In der BDE (Systemsteuerung) legen wir einen Alias an
ODBC - Alias Ebenso in der ODBC
In Delphi TTable + TDatasource Die Komponente TTable DatabaseName = Alias eurer Datenbank TableName = Name der gewünschten Tabelle in eurer Datenbank Die Komponente TDatasource Dataset ist unser TTable-Objekt TTable TDatasource Dataset DatabaseName TableName Name Datensensitve Steuerelemente BDE
In Delphi TDatabase + TTable + TDatasource Die Komponente TDatabase DatabaseName = Alias eurer Datenbank TTable kapselt eine Tabelle der Datenbank TDatabase stellt hingegen die gesamte Datenbank dar
In Delphi TQuery + TDatasource Die Komponente TQuery Mit TQuery können Sie mit Hilfe von SQL-Anweisungen auf Tabellen in einer Datenbank zugreifen DatabaseName = Alias eurer Datenbank SQL = eure SQL-Anweisung TQuery TDatasource Dataset DatabaseName SQL Name Datensensitve Steuerelemente BDE
Einbindung in Delphi analog zur Access Datenbank (aber ohne ODBC) MS Access vs. Paradox Access: Datenbank besteht aus einer Datei Paradox: Jede Tabelle in min. 2 Dateien Instabilität Access: Zugriff über MS Jet Engine Paradox: Zugriff über BDE Einbindung in Delphi analog zur Access Datenbank (aber ohne ODBC)
Anbindung mittels GM DAO-Komponenten DAO = Data Access Objects Anbindung einer Access- Datenbank ohne BDE Sehr vielseitige Komponenten (z.B. eine einzige Komponente anstatt verschiedene Query und Table Komponenten)
Anbindung mittels GM DAO-Komponenten Die Komponente TGMDaoDatabase DaoLibrary = dlDAO35 (Access 97) = dlDAO36 (Access 2000) DatabaseFile = Pfad der Datenbank Die Komponente TGMDaoDataset DAODatabase = die GMDaoDatabase TGMDaoDatabase TGMDaoDataset TDatasource TGMDaoDataset
Anbindung mittels ADO-Komponenten ADO = ActiveX Data Objects Anbindung einer Datenbank ohne BDE TADOTable TDatasource TADOTable TADOConnection TADOQuery
Vorteile der ADO gegenüber DAO ADO ist „aktueller“ ADO ermöglicht Zugriff auf fast alle Datenbanktypen (vor allem MS SQL-Server und Access) Keine Voraussetzungen, bzw. MS Entwicklerlizenzen i.d.R bereits auf vielen Rechnern installiert (u.a. durch Internet Explorer)
Zugriff auf Datenbankinhalte Mit Table-Komponenten Wir verwenden hier die Methoden Insert : Fügt einen neuen Datensatz ein Edit : Verändert den aktuellen Datensatz Post : Sendet die Änderungen First(Last) : Erster (letzter) Datensatz wird aktueller Darensatz Prior(Next) : Voriger (nächster) Datensatz wird aktueller Darensatz
Zugriff auf Datenbankinhalte 2. Mit Query-Komponente Hier senden wir eine SQL-Abfrage an die Datenbank und werten die Antwort aus SQL : Liste von Strings (TStrings) SQL.Text : Stellt die Liste als einen String dar Open (Close) : Öffnet die Datenmenge, bzw. führt den SQL-Befehl aus (nur für „Select“ verwenden) ExecSQL : Führt ebenfalls den SQL-Befehl aus (Für alle anderen Befehle verwenden)
Reportgenerator RAVE Ermöglicht die Erstellung von Berichten anhand unserer Datenbankinhalte Das Design der Berichte kann individuell gestaltet werden Ausgabe als Druck, PDF, HTML, etc. möglich
Reportgenerator RAVE TRvDatasetConnection Stellt die Verbindung zwischen Datenbank und Rave-Objekten dar Dataset = unser Table-Objekt Tabelle TRvDatasetConnection
Reportgenerator RAVE Rave Designer Zu finden unter Tools -> Rave Designer Grafische Oberfläche zur Erstellung des Design und Integration der Daten Speichert die Informationen in einer .rav - Datei Design.rav
Reportgenerator RAVE TRvProjekt Bindet das gespeicherte Design ein ProjektFile = Pfad und Name unseres Designs Design.rav Druck Tabelle TRvDatasetConnection TRvProjekt Vorschau PDF
Reportgenerator RAVE TRvProjekt SelectReport('Report1', True) Wählt den gewünschten Bericht unseres Designs ExecuteReport('Report1') Erzeugt nun eine Vorschau, den Druck oder eine Datei Dialog bei Ausführung
Reportgenerator RAVE TRvNDRWriter Wird verwendet, um einem Report in einem speziellen binären Format zu speichern, bevor er gedruckt oder in der Vorschau angezeigt wird. Units (Maßeinheit) sollte der selbe Wert wie im Design zugewiesen werden StreamMode = smMemory
Reportgenerator RAVE TRvRenderPDF konvertiert das Ergebnis unseres TRvNDRWriter - Objekts in das PDF-Format Tabelle Design.rav TRvDatasetConnection TRvProjekt TRvNDRWriter TRvRenderPDF Design.pdf
Reportgenerator RAVE Automatische PDF-Erzeugung var Meinedatei : tfilestream; Datei : string; begin datei:='C:\test.pdf'; rvproject1.Engine:=RvNDRWriter1; rvproject1.SelectReport('Report2',true); rvproject1.Open; rvproject1.ExecuteReport('Report2'); application.ProcessMessages; meinedatei:=tfilestream.Create(rvndrwriter1.FileName,fmopenread); try rvrenderpdf1.printrender(meinedatei,datei); finally meinedatei.free;
Links Anbindung einer Datenbank mittels ODBC/BDE http://www.bildung.hessen.de/abereich/inform/skii/material/delphi/datenbank/dbrr1.htm Anbindung mittels ADO-Komponenten http://www.tutorials.delphi-source.de/ado/index.shtml Anbindung mittels DAO-Komponenten http://www.gm-software.de/index.html