Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#84

Re: CRLab oder FIBPlus als BDE-Ersatz

  Alt 22. Okt 2007, 15:34
Zitat von Hansa:
Lese gerade, Du benutzt FIBQuery ? Warum das ? IMHO ist das eigentlich überflüssig und nur aus irgendwelchen Kompatibilitätsgründen überhupt miit dabei. Würde mich nicht wundern wenn es wegen überflüsigem Code etwas langsamer ist, als FIBDataSet. Zum Rest : kann das auch nicht nachvollziehen. Unter dem Aspekt, dass sogar IBExpert mit FIBPlus programmiert ist : Bug eher unwahrscheinlich. Falls doch Bug würde ich den mal melden !
Doch der Effekt ist reproduzierbar.
An der Stelle jedoch nicht so wichtig könnte sich an anderer Stelle aber auswirken.
Im Modul TpFIBDatabase.GetTableNames(...

Delphi-Quellcode:
if not WithSystem then
    Params[0].asString:='and RDB$SYSTEM_FLAG = 0'
Beim erneuten Verwenden der Query wird Params[0] nicht gelöscht.
Nach Aufruf mit WithSystem = false ist die Einstellung nicht mehr rücksetzbar.

Hier reicht ein else Zweig.

Delphi-Quellcode:
if not WithSystem then
    Params[0].asString:='and RDB$SYSTEM_FLAG = 0'
else Params[0].asString:='';
da die Query hier mit
qry := GetQueryForUse(vInternalTransaction,TablesSQL); global bereitgestellt wird, weis ich noch nicht, wo sich der Effekt noch auswirken kann.

Query und/oder Dataset ist sicherlich eine interessante Diskussion.
Ich verwende die Query nur dort, wo ich eine einzelne SQL Anweisung oder einen einfachen Cursor benötige.
Da in der Query einiges an Overhead fehlt, meine ich das die Abarbeitung schneller ist.
FIBPLUS geht übrigens intern den gleichen Weg.


Gruß
Peter
  Mit Zitat antworten Zitat