datenbanken verschiedene komponenten zur anbindungverschiedene komponenten zur anbindung zugriffe...
TRANSCRIPT
![Page 1: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/1.jpg)
DatenbankenDatenbanken
•Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung
•Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte
•Reportgenerator RAVEReportgenerator RAVE
![Page 2: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/2.jpg)
Wie ist eine Datenbank Wie ist eine Datenbank aufgebaut?aufgebaut?
• Eine Datenbank enthält mehrere Eine Datenbank enthält mehrere DatentabellenDatentabellen
• Eine Datentabelle enthält Eine Datentabelle enthält DatensätzeDatensätze (Zeilen) (Zeilen)
![Page 3: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/3.jpg)
Verbindung mittels Verbindung mittels BDE/ODBC-AliasBDE/ODBC-Alias
• BDEBDE = Borland Database Engine = Borland Database EngineÜber ihre Schnittstelle lassen sich die Über ihre Schnittstelle lassen sich die verschiedensten Datanbanken ansprechenverschiedensten Datanbanken ansprechen
• ODBCODBC = Open DataBase = Open DataBase ConnectivityConnectivityErlaubt Verbindungen zu Datenbanken Erlaubt Verbindungen zu Datenbanken unabhängig vom Betriebssystem und unabhängig vom Betriebssystem und ProgrammProgramm
![Page 4: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/4.jpg)
BDE-AliasBDE-Alias
• In der BDE (Systemsteuerung) In der BDE (Systemsteuerung) legen wir einen Alias anlegen wir einen Alias an
![Page 5: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/5.jpg)
ODBC - AliasODBC - Alias
• Ebenso in der ODBCEbenso in der ODBC
![Page 6: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/6.jpg)
In DelphiIn DelphiTTable + TDatasourceTTable + TDatasource
• Die Komponente Die Komponente TTableTTableDatabaseNameDatabaseName = Alias eurer Datenbank = Alias eurer Datenbank
TableName TableName = Name der gewünschten Tabelle = Name der gewünschten Tabelle in eurer Datenbank in eurer Datenbank
• Die Komponente Die Komponente TDatasourceTDatasourceDatasetDataset ist unser TTable-Objekt ist unser TTable-Objekt
TTableDatabaseName
TableName
Name
TDatasource
DatasetDatensensitve Steuerelemente
BDE
![Page 7: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/7.jpg)
In DelphiIn DelphiTDatabase + TTable + TDatasourceTDatabase + TTable + TDatasource
• Die Komponente Die Komponente TDatabaseTDatabaseDatabaseNameDatabaseName = Alias eurer Datenbank = Alias eurer Datenbank
TTable kapselt eine Tabelle der DatenbankTTable kapselt eine Tabelle der Datenbank
TDatabase stellt hingegen die gesamte TDatabase stellt hingegen die gesamte Datenbank darDatenbank dar
![Page 8: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/8.jpg)
In DelphiIn DelphiTQuery + TDatasourceTQuery + TDatasource
• Die Komponente Die Komponente TQueryTQueryMit TQuery können Sie mit Hilfe von SQL-Mit TQuery können Sie mit Hilfe von SQL-Anweisungen auf Tabellen in einer Datenbank Anweisungen auf Tabellen in einer Datenbank zugreifenzugreifen
DatabaseNameDatabaseName = Alias eurer Datenbank = Alias eurer Datenbank
SQL SQL = eure SQL-Anweisung = eure SQL-Anweisung
TQueryDatabaseName
SQL
Name
TDatasource
DatasetDatensensitve Steuerelemente
BDE
![Page 9: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/9.jpg)
MS Access vs. ParadoxMS Access vs. Paradox
• Access: Datenbank besteht aus einer Access: Datenbank besteht aus einer DateiDatei
• Paradox: Jede Tabelle in min. 2 Dateien Paradox: Jede Tabelle in min. 2 Dateien Instabilität Instabilität
• Access: Zugriff über MS Jet EngineAccess: Zugriff über MS Jet Engine• Paradox: Zugriff über BDEParadox: Zugriff über BDE
Einbindung in Delphi analog zur Access Einbindung in Delphi analog zur Access Datenbank (aber ohne ODBC)Datenbank (aber ohne ODBC)
![Page 10: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/10.jpg)
Anbindung mittelsAnbindung mittelsGM DAO-KomponentenGM DAO-Komponenten
• DAO DAO = Data Access Objects= Data Access Objects
• Anbindung einer Access- Datenbank Anbindung einer Access- Datenbank ohne BDEohne BDE
• Sehr vielseitige KomponentenSehr vielseitige Komponenten(z.B. eine einzige Komponente anstatt verschiedene (z.B. eine einzige Komponente anstatt verschiedene Query und Table Komponenten)Query und Table Komponenten)
![Page 11: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/11.jpg)
Anbindung mittelsAnbindung mittelsGM DAO-KomponentenGM DAO-Komponenten
• Die Komponente Die Komponente TGMDaoDatabaseTGMDaoDatabaseDaoLibraryDaoLibrary = dlDAO35 (Access 97) = dlDAO35 (Access 97)
= dlDAO36 (Access 2000)= dlDAO36 (Access 2000)
DatabaseFileDatabaseFile = Pfad der Datenbank = Pfad der Datenbank
• Die Komponente Die Komponente TGMDaoDatasetTGMDaoDatasetDAODatabaseDAODatabase = die GMDaoDatabase = die GMDaoDatabase
TGMDaoDatabase TGMDaoDataset
TGMDaoDataset
TDatasource
![Page 12: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/12.jpg)
Anbindung mittelsAnbindung mittelsADO-KomponentenADO-Komponenten
• ADOADO = ActiveX Data Objects = ActiveX Data Objects
• Anbindung einer Datenbank ohne Anbindung einer Datenbank ohne BDEBDE
TADOConnection
TADOTable
TADOTable
TADOQuery
TDatasource
![Page 13: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/13.jpg)
Vorteile der ADO Vorteile der ADO gegenüber DAOgegenüber DAO
• ADO ist „aktueller“ADO ist „aktueller“
• ADO ermöglicht Zugriff auf fast alle ADO ermöglicht Zugriff auf fast alle Datenbanktypen (vor allem MS SQL-Server und Datenbanktypen (vor allem MS SQL-Server und Access)Access)
• Keine Voraussetzungen, bzw. MS Keine Voraussetzungen, bzw. MS EntwicklerlizenzenEntwicklerlizenzen
• i.d.R bereits auf vielen Rechnern installiert (u.a. i.d.R bereits auf vielen Rechnern installiert (u.a. durch Internet Explorer)durch Internet Explorer)
![Page 14: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/14.jpg)
Zugriff auf Zugriff auf DatenbankinhalteDatenbankinhalte
1.1. Mit Table-KomponentenMit Table-KomponentenWir verwenden hier die MethodenWir verwenden hier die Methoden
Insert Insert : Fügt einen neuen Datensatz ein: Fügt einen neuen Datensatz ein
EditEdit : Verändert den aktuellen Datensatz : Verändert den aktuellen Datensatz
PostPost : Sendet die Änderungen : Sendet die Änderungen
FirstFirst((LastLast) : Erster (letzter) Datensatz ) : Erster (letzter) Datensatz wird aktueller Darensatzwird aktueller Darensatz
PriorPrior((NextNext) : Voriger (nächster) Datensatz ) : Voriger (nächster) Datensatz wird aktueller Darensatzwird aktueller Darensatz
![Page 15: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/15.jpg)
Zugriff auf Zugriff auf DatenbankinhalteDatenbankinhalte
2. Mit Query-Komponente2. Mit Query-KomponenteHier senden wir eine SQL-Abfrage an die Hier senden wir eine SQL-Abfrage an die
Datenbank und werten die Antwort ausDatenbank und werten die Antwort aus
SQLSQL : Liste von Strings (TStrings) : Liste von Strings (TStrings)SQL.TextSQL.Text : Stellt die Liste als einen String dar : Stellt die Liste als einen String darOpenOpen ( (CloseClose) : Öffnet die Datenmenge, bzw. führt ) : Öffnet die Datenmenge, bzw. führt
den SQL-Befehl aus (nur für „Select“ den SQL-Befehl aus (nur für „Select“ verwenden)verwenden)
ExecSQLExecSQL : Führt ebenfalls den SQL-Befehl aus : Führt ebenfalls den SQL-Befehl aus (Für alle anderen Befehle verwenden)(Für alle anderen Befehle verwenden)
![Page 16: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/16.jpg)
Reportgenerator RAVEReportgenerator RAVE
• Ermöglicht die Erstellung von Ermöglicht die Erstellung von Berichten anhand unserer Berichten anhand unserer DatenbankinhalteDatenbankinhalte
• Das Design der Berichte kann Das Design der Berichte kann individuell gestaltet werdenindividuell gestaltet werden
• Ausgabe als Druck, PDF, HTML, etc. Ausgabe als Druck, PDF, HTML, etc. möglich möglich
![Page 17: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/17.jpg)
Reportgenerator RAVEReportgenerator RAVETRvDatasetConnectionTRvDatasetConnection
• Stellt die Verbindung zwischen Stellt die Verbindung zwischen Datenbank und Rave-Objekten darDatenbank und Rave-Objekten dar
• DatasetDataset = unser Table-Objekt = unser Table-Objekt
TRvDatasetConnectionTabelle
![Page 18: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/18.jpg)
Reportgenerator RAVEReportgenerator RAVERave DesignerRave Designer
• Zu finden unter Tools -> Rave DesignerZu finden unter Tools -> Rave Designer
• Grafische Oberfläche zur Erstellung des Grafische Oberfläche zur Erstellung des Design und Integration der DatenDesign und Integration der Daten
• Speichert die Informationen in einer .rav Speichert die Informationen in einer .rav - Datei- Datei
Design.rav
![Page 19: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/19.jpg)
Reportgenerator RAVEReportgenerator RAVETRvProjektTRvProjekt
• Bindet das gespeicherte Design einBindet das gespeicherte Design ein• ProjektFileProjektFile = Pfad und Name = Pfad und Name
unseres Designsunseres Designs
TRvDatasetConnectionTabelle TRvProjekt
Design.ravDruck
Vorschau
![Page 20: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/20.jpg)
Reportgenerator RAVEReportgenerator RAVETRvProjektTRvProjekt
• SelectReportSelectReport('Report1', True)('Report1', True)
Wählt den gewünschten Bericht Wählt den gewünschten Bericht unseres Designsunseres Designs
• ExecuteReportExecuteReport('Report1')('Report1')
Erzeugt nun eine Vorschau, den Erzeugt nun eine Vorschau, den Druck oder eine DateiDruck oder eine Datei
Dialog bei AusführungDialog bei Ausführung
![Page 21: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/21.jpg)
Reportgenerator RAVEReportgenerator RAVETRvNDRWriterTRvNDRWriter
• Wird verwendet, um einem Report in Wird verwendet, um einem Report in einem speziellen binären Format zu einem speziellen binären Format zu speichern, bevor er gedruckt oder in der speichern, bevor er gedruckt oder in der Vorschau angezeigt wird.Vorschau angezeigt wird.
• Units (Maßeinheit)Units (Maßeinheit) sollte der selbe Wert sollte der selbe Wert wie im Design zugewiesen werdenwie im Design zugewiesen werden
• StreamModeStreamMode = smMemory = smMemory
![Page 22: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/22.jpg)
Reportgenerator RAVEReportgenerator RAVETRvRenderPDFTRvRenderPDF
• konvertiert das Ergebnis unseres konvertiert das Ergebnis unseres TRvNDRWriter - Objekts in das PDF-TRvNDRWriter - Objekts in das PDF-FormatFormat
TRvDatasetConnection
Tabelle
TRvProjekt
Design.rav
TRvNDRWriter TRvRenderPDF
Design.pdf
![Page 23: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/23.jpg)
Reportgenerator RAVEReportgenerator RAVEAutomatische PDF-ErzeugungAutomatische PDF-Erzeugung
var var
Meinedatei : tfilestream; Meinedatei : tfilestream;
Datei : string; Datei : string;
begin begin
datei:='C:\test.pdf'; datei:='C:\test.pdf';
rvproject1.Engine:=RvNDRWriter1;rvproject1.Engine:=RvNDRWriter1;
rvproject1.SelectReport('Report2',true); rvproject1.SelectReport('Report2',true);
rvproject1.Open; rvproject1.Open;
rvproject1.ExecuteReport('Report2');rvproject1.ExecuteReport('Report2');
application.ProcessMessages; application.ProcessMessages;
meinedatei:=tfilestream.Create(rvndrwriter1.FileName,fmopenread); meinedatei:=tfilestream.Create(rvndrwriter1.FileName,fmopenread);
try try
rvrenderpdf1.printrender(meinedatei,datei); rvrenderpdf1.printrender(meinedatei,datei);
finally finally
meinedatei.free; meinedatei.free;
![Page 24: Datenbanken Verschiedene Komponenten zur AnbindungVerschiedene Komponenten zur Anbindung Zugriffe auf DatenbankinhalteZugriffe auf Datenbankinhalte Reportgenerator](https://reader035.vdocuments.net/reader035/viewer/2022081507/55204d8249795902118d4f44/html5/thumbnails/24.jpg)
LinksLinks
Anbindung einer Datenbank mittels Anbindung einer Datenbank mittels ODBC/BDEODBC/BDE
http://www.bildung.hessen.de/abereich/inform/skii/http://www.bildung.hessen.de/abereich/inform/skii/material/delphi/datenbank/dbrr1.htmmaterial/delphi/datenbank/dbrr1.htm
Anbindung mittels ADO-KomponentenAnbindung mittels ADO-Komponentenhttp://www.tutorials.delphi-source.de/ado/index.shtmlhttp://www.tutorials.delphi-source.de/ado/index.shtml
Anbindung mittels DAO-KomponentenAnbindung mittels DAO-Komponentenhttp://www.gm-software.de/index.htmlhttp://www.gm-software.de/index.html