Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#26

AW: Welches DBMS sollte ich nehmen?

  Alt 17. Feb 2021, 08:47
Zitat:
Das ADO eine eigene Syntax hat, die vom Standard abweicht
Nicht SQL Syntax...
Delphi-Quellcode:
Qry.Parameters.ParamByName('Wert').Value
// statt
Qry.ParamByName('Wert').AsString
...imho geht bei ADO nur ".Value"
Die Delphi-Syntax bei ADO mag anders sein als bei Zeos, BDE, UniDac, FireDac, ADO .... Aber das als Argument für "Sollte man nicht nehmen", halte ich für gewagt. Mir ist nicht bekannt, dass man ohne Änderungen am Quelltext Datenbankschnittstellen untereinander austauschen kann (egal welche gegen welche).

Anpassungen braucht man immer, das könnte man also bei alten Programmen, in denen man z. B. die BDE durch "beliebige Datenbankschnittstelle" ersetzen möchte, bei jeder anderen Komponente sagen. Sie weichen alle irgendwie ab und haben (in Teilbereichen) eine andere Syntax.

Und dass ADO nur .Value kennt, ist einfach nur falsch.

Bei mir kennen die Komponenten zumindest
Delphi-Quellcode:
  ADOQuery1.FieldByName('').AsBCD;
  ADOQuery1.FieldByName('').AsBoolean;
  ADOQuery1.FieldByName('').AsCurrency;
  ADOQuery1.FieldByName('').AsDateTime;
  ADOQuery1.FieldByName('').AsSQLTimeStamp;
  ADOQuery1.FieldByName('').AsFloat;
  ADOQuery1.FieldByName('').AsInteger;
  ADOQuery1.FieldByName('').AsString;
  ADOQuery1.FieldByName('').AsVariant;
  ADOQuery1.FieldByName('').Text;
  ADOQuery1.FieldByName('').OldValue;
  ADOQuery1.FieldByName('').NewValue;
  ADOQuery1.FieldByName('').Value;
(Die hab' ich auch schon (soweit ich mich erinnere) in Delphi 4 genutzt.
Und da wir hier von Delphi 5 reden, liegt (vermutlich) mein olles Delphi 7 näher dran, als eine aktuelle Delphiversion.
  Mit Zitat antworten Zitat