Einzelnen Beitrag anzeigen

mytbo

Registriert seit: 8. Jan 2007
461 Beiträge
 
#20

AW: Neues Datenbank-Backend für meine Anwedung - Welches?

  Alt 3. Jun 2020, 12:53
Wenn du die ORM Funktionalität von mORMot verwendest würdest, müsstest du beim Zugriff auf eine bestimmte Datenbank nur die jeweilige Connection anpassen. Um den Rest kümmert sich das Framework. Im Samples Verzeichnis findest du unter "12 - SynDB Explorer" die Implementierung eines Datenbank Explorers. Im Beispiel stellst du eine Verbindung mit dieser Funktion her:
Delphi-Quellcode:
function TryConnect(C: TSQLConnection; ...): boolean;
const
  CONN_CLASSES: array[TExpConnectionType] of TSQLDBConnectionPropertiesClass = (
    TSQLDBOracleConnectionProperties,
    TOleDBOracleConnectionProperties,
    TOleDBMSOracleConnectionProperties,
    TOleDBMSSQLConnectionProperties,
    TOleDBConnectionProperties,
    TSQLDBSQLite3ConnectionProperties,
    TOleDBJetConnectionProperties,
    TODBCConnectionProperties,
    TSQLDBWinHTTPConnectionProperties,
    TSQLDBZeosConnectionProperties);
...   
begin
  ...
  Props := CONN_CLASSES[C.Connection].Create(C.Server, C.Database, C.UserName, Pass);
  ...
end
Und mit einfachen Funktionsaufrufen kannst du einen Datensatz in der DB anlegen, aktualisieren oder löschen. Das Schöne ist, man muss sich um nichts kümmern. Und wenn handgeschriebenes SQL erforderlich ist, steht das Framework nicht im Weg.
Delphi-Quellcode:
type
  TSQLMeineDaten = class(TSQLRecord)
  ...
  published
    property Aktiv: Boolean read FAktiv write FAktiv;
    ...
  end;

var
  dataObj: TSQLMeineDaten;
begin
...
  .AddOrUpdate(dataObj);
  .Delete(TSQLMeineDaten, dataObj.ID);
  .RetrieveList<TSQLMeineDaten>('Aktiv = ?)', [isAktiv]);
Bis bald...
Thomas
  Mit Zitat antworten Zitat