AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Connection übergeben verschiedene Datenbanken
Thema durchsuchen
Ansicht
Themen-Optionen

Connection übergeben verschiedene Datenbanken

Ein Thema von matashen · begonnen am 12. Aug 2020 · letzter Beitrag vom 13. Aug 2020
Antwort Antwort
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
689 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Connection übergeben verschiedene Datenbanken

  Alt 13. Aug 2020, 08:21
Ich sehe nicht viel Sinn drin, da es ja Sachen wie FireDAC oder UniDAC gibt, aber sei es drum...

Man kann auch für jede Art Verbindung eine Klasse bilden, welche die wichtigen Funktionen, die man so nutzt hinter einem gemeinsamen interface kapselt.

Code:
Type IdbConnection = interface
       procedure Connect(AConnectionStr: String);
       procedure CreateQuery: IdbQuery; // liefert ein interface zu einem query passend zur connection
       // mehr funktionen hier
     end;
     
     TUniDACConnection = class(TInterfaceObject, IdbConnection)
     private
       FDbObject: TUniConnection;
     public
       procedure Connect(AConnectionStr: String);
       procedure CreateQuery: IdbQuery;
     end;

     TFireDACConnection= class(TInterfaceObject, IdbConnection)
     private
       FDbObject: TUniConnection;
     public
       procedure Connect(AConnectionStr: String);
       procedure CreateQuery: IdbQuery;
     end;
Muss man natürlich die einzelnen Funktionen, die man so braucht auch extra implementieren, aber naja, so auf die schnelle fällt mir da nichts anderes ein. Damit kannst wohl alles machen, was du brauchst.
Ich würde vielleicht noch eine ConnectionFactory dazubauen, denen gibst Du den Namen des Datenbank-Profils und der baut dir die connection zusammen mit den Parametern des Profils (DBName, Login, zusätzliche Connect-Params...)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz