Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Formularübergreifende DB-Connection (https://www.delphipraxis.net/96098-formularuebergreifende-db-connection.html)

MaGo 18. Jul 2007 15:38


Formularübergreifende DB-Connection
 
Hallo,

ich schreibe an einem Programm, dass Daten von einer Schnittstelle ausliest und auswertet.

Die Daten sollen nun zur späteren Verfügbarkeit in einer Datenbank gespeichert werden.
Ich kann bereits eine Verbindung zu einer Access-Datenbank herstellen (mittels TADOConnection) und die Daten entsprechend ein- bzw. auslesen. Soweit so gut.

Um die Übersichtlichkeit zu erhöhen übersetzte ich nun alles in eine MDI-Anwendung mit (logisch..) mehreren Fenstern.
Ich denke, es ist am günstigen, wenn ich in der ganzen Anwendung nur eine TADOConnection benutze anstatt in jedem Formular, dass eine Datenbankverbindung benutzt eine einzusetzen.

Wie kann ich das realisieren? Die TADO Connection kommt sicher ins Hauptformular. Aber wie können die MDI-Childs dann auf diese zugreifen? Kann ich die Connection vererben oder kann man direkt aus dem Childs auf die Connection des Hauptformulars zugreifen?

Allein über die uses-Klausel ist mir das noch nicht gelungen.

Wie schon beim letzten Danken: Vielen Dank schon mal im Vorraus!

mkinzler 18. Jul 2007 15:42

Re: Formularübergreifende DB-Connection
 
Verwende ein Datenmodul

skyobserver 18. Jul 2007 15:50

Re: Formularübergreifende DB-Connection
 
Für diesen Zweck verwendet man üblicher weise ein Datenmodul: Menü: Datei->Neu->Datenmodul

Das ist eine "Art" Form auf die Du deine Datenbank-Komponenten ziehen und ablegen kannst.
Das Datenmodul ist zur Laufzeit nicht sichtbar. Es wird mit "uses" in die Formulare eingebunden
die es benötigen und man kann dann über "DatenmodulName.adoConnection" zugreifen.

Allerdings sollte es über "MainFormName.adoConnection" ebenso gehen.

Das Datenmodul hat den Vorteil das man es auch in andere Anwendungen
einbinden kann welche die gleiche Datenbank-Verbindung nutzen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz