Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Anleitung zum Umgang mit Datenbank Komponenten

  Alt 6. Okt 2012, 20:46
Also bevor du dich daran machst, solltest du den Daten-Zugriff komplett einmal mit einer (oder auch mehrerer) Klasse(n) kapseln.
Dann im Code alle Zugriffe durch diese Klasse(n) führen.

Wenn das dann läuft, dann ziehst du dir davon eine abstrakte Klasse(n) und leitest die vorher erstellten davon ab.

Jetzt kannst du dir neue Klassen davon ableiten, nur das hier der Zugriff über die DevArt Komponenten läuft

Hier mal ein kleines Beispiel für einen Ansatz:
Delphi-Quellcode:
// Abstrakte Klasse
TMySQLAbstract = class
public
  procedure Connect; virtual; abstract;
  procedure ExecQuery( AQuery : AnsiString; ACols : TCols; ARows : TRows ); virtual; abstract;
  procedure DisConnect; virtual; abstract;
end;

// konkrete MySQL-Native-Klasse
TMySQLNativeStore = class( TMySQLAbstract )
private
  FDB : TDB; // ???
public
  procedure Connect; override;
  procedure ExecQuery( AQuery : AnsiString; ACols : TCols; ARows : TRows ); override;
  procedure DisConnect; override;
end;

...
implementation

uses
  mysql_native_unit;

TMySQLNativeStore.Connect;
begin
  Connect;
end;

TMySQLNativeStore.ExecQuery;
begin
  ExecQuery( FDB, AQuery, ACols, ARows );
end;

TMySQLNativeStore.Disconnect;
begin
  Disconnect;
end;
BTW: Es ist nicht schlimm, wenn du nach der Umstellung diese Zwischenschicht weiterleben lässt.
Stell dir vor, die DevArt-Komponenten zicken rum oder gibt es für die Platform xy nicht ... dafür aber wieder ganz andere ... ei jo, einfach eine neue konkrete Ableitung und der Drops ist gelutscht
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 6. Okt 2012 um 20:50 Uhr)
  Mit Zitat antworten Zitat