Zeos TZConnection

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
jana2000
Beiträge: 3
Registriert: Sa 2. Dez 2023, 21:58

Zeos TZConnection

Beitrag von jana2000 »

Wäre eine/r so nett und würde mir mal erklären, wie man sich mit einer Datenbank (Zeos, PostgreSQL) verbindet per Code, ohne Komponente auf Form? Ich möchte nicht Server IP, Benutzer, Passwort hartkodieren, sondern flexibel als Variablen übergeben.

MmVisual
Beiträge: 1470
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Zeos TZConnection

Beitrag von MmVisual »

Man kann dynamisch eine TZConnection in eine Variable erzeugen und dann alle eigenschaften einfach beschreiben, so wie man es im Objektinspektor machen würde.

Code: Alles auswählen

Var Con: TZconnection;
Con := TZConnection.Create(Self);
Con.Protocoll := ...
Con.Host := ...
...
EleLa - Elektronik Lagerverwaltung - www.elela.de

charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Zeos TZConnection

Beitrag von charlytango »

Du kannst beide Welten miteinander kombinieren, indem du die TZConnection in ein Datamodule legst und die Eigenschaften die nicht schon voreingestellt sind von außen bestückst bevor du die Verbindung öffnest.
Etwas umfangreicher habe ich es hier gemacht

Mittlerweile gibt es auch eine Version die komplett ohne Datenmodul auskommt und alles Nötige in ein eigenes Objekt auslagert. (falls dich das interessiert). Die Version mit Datenmodul habe ich nur für jene gebaut die Daten nativ direkt in der GUI anzeigen wollen (was ich schon lange nicht mehr mache)
Die Version einer Datenbankanbindung in einem eigenen (Singleton-)Objekt hat den Vorteil dass man die volle Kontrolle über das Erstellen und zerstören hat. Des weiteren kann man so ein Objekt auch leichter vererben (und damit mit Funktionen ausstatten die man nicht im eneren Funktionsumfang der DB-Anbindung haben will.). Vererbung von Datenmodulen haben mir schon in D7-Zeiten Probleme bereitet

Antworten