![]() |
Re: TQuery function umstellen auf FibPlus
jetzt müsste ich natürlich noch wissen, wie meine execquery funktion aussieht.
Weil "dataset.execsql" gibt es nicht?!? |
Re: TQuery function umstellen auf FibPlus
Hallo,
waren wir nicht bei TfXXQuery (habs gerade nicht im Kopf). Wieso jetzt DataSet ? Egal: Weekend !!! Heiko |
Re: TQuery function umstellen auf FibPlus
das Problem war nur, das FibQuery kein Locate konnte...
Aber ich probiere es mal mit FibQuery... |
Re: TQuery function umstellen auf FibPlus
Nimm bitte FibDataSet und lass das FibQuery erstmal beiseite.
Im FibDataSet findest du das .Open, .Active, .Locate(), usw. alex |
Re: TQuery function umstellen auf FibPlus
Zitat:
Ansonsten Fibquery. Ich persönlich nutze seit Ewigkeiten keine datengebundenen Komponenten mehr. Ich habe es mir abgewöhnt mit TDataset und seinen Nachfolgern zu arbeiten. Daher verwende ich fibdataset überhaupt nicht. Die ganzen TDbXXXXX Komponenten verleiten leicht dazu, Geschäftslogik und UI über Gebühr zu mixen. Das Problem von langlaufenden Transaktionen hat man dann nebenbei ebenfalls beseitigt. Benötigte Datenstrukturen baue ich mir im Speicher auf. Es gibt so schöne Listen, Collections etc..... Diese dann mit den UI Controls zu bearbeiten ist 1. Pfeilschnell und 2. hat man die volle Kontrolle. |
Re: TQuery function umstellen auf FibPlus
ich habe jetzt eine Funktion geschrieben die wie folgt aussieht
Delphi-Quellcode:
Das Problem ist nur, wenn ich diese Funktion ausführe, werden
function ExecFibQuery( Sql : String; Database : TFibDatabase ) : boolean;
var myQuery : TpFIBQuery; begin myQuery := TpFIBQuery.Create( Application ); Result := True; try myQuery.Database := Database; myQuery.SQL.Text := Sql; myQuery.ExecQuery; myQuery.Transaction.Commit; Result := True; except myQuery.Free; Result := False; end; myQuery.Free; end; alle OpenQuerys geschlossen und zwar dann, wenn "myQuery.Transaction.Commit" ausgeführt wird. Weiss jemand warum? |
Re: TQuery function umstellen auf FibPlus
Ja du hängst dich an eine laufende Transkation an und schliesst diese ab! das kann sehr negative Folgen haben. Führe deine Abfrage in einer eigenen Transaktion aus.
|
Re: TQuery function umstellen auf FibPlus
da ich aber meine Funktion in einer Unit ausgelagert habe, müsste ich also immer eine Transaction mit geben?
|
Re: TQuery function umstellen auf FibPlus
Oder wie den Query dynamisch erstellen
|
Re: TQuery function umstellen auf FibPlus
das klappt jetzt mit der Transaction.
Was nur noch nicht funktioniert, ist der RecordCount, der liefert immer 1 zurück und ich weiss nicht warum?!? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 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