240 likes | 487 Views
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.
E N D
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 DelphiTTable + 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 DelphiTDatabase + TTable + TDatasource • Die Komponente TDatabase DatabaseName = Alias eurer Datenbank TTable kapselt eine Tabelle der Datenbank TDatabase stellt hingegen die gesamte Datenbank dar
In DelphiTQuery + 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
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 mittelsGM 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 mittelsGM 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 mittelsADO-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 RAVETRvDatasetConnection • Stellt die Verbindung zwischen Datenbank und Rave-Objekten dar • Dataset = unser Table-Objekt Tabelle TRvDatasetConnection
Reportgenerator RAVERave 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 RAVETRvProjekt • Bindet das gespeicherte Design ein • ProjektFile = Pfad und Name unseres Designs Design.rav Druck Tabelle TRvDatasetConnection TRvProjekt Vorschau PDF
Reportgenerator RAVETRvProjekt • 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 RAVETRvNDRWriter • 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 RAVETRvRenderPDF • konvertiert das Ergebnis unseres TRvNDRWriter - Objekts in das PDF-Format Tabelle Design.rav TRvDatasetConnection TRvProjekt TRvNDRWriter TRvRenderPDF Design.pdf
Reportgenerator RAVEAutomatische 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