![]() |
Re: 100 x Fieldvalue durch Fieldbyname erstetzen?
Nachgemessen, wie sonst? :zwinker:
hab hier grad ein Projekt, mit einer TTable. Im AfterOpen einfach drei Schleifen gebaut: 1.Schleife: Alle Felder per index durchiterieren und auf den Inhalt zugreifen 2.Schleife: Alle Persistenten Felder durchiterieren und ditto 3.Schleife: Alle Felder per Feldnamen durchiterieren. Aber war quick and dirty. Das Verhältnis zwischen (3) und (1) ist auch nicht konstant 10x, sondern wächst mit der Anzahl der Felder (logisch, weil linear gesucht wird). |
Re: 100 x Fieldvalue durch Fieldbyname erstetzen?
Hallo,
wenn ich richtig lesen kann, geht es um den Vergleich von FieldValues und FieldByName der Methode TDataSet. Wo ist denn da ein Zugriff über einen Index? Beide erwarten als Parameter den FeldNamen als String. Nur das FieldValues Variants benutzt und damit noch die Typumwandlung machen muss. Deshalb ist für mich FieldByName die bessere Wahl. Aber ein bestehendes Projekt dahingehend umzustellen halte ich nicht für sinnvoll. Beides funktioniert und eine bemerkbare Performancesteigerung werd ich damit nicht erreichen. Cu, Frank |
Re: 100 x Fieldvalue durch Fieldbyname erstetzen?
Nein:
Wie greifen wir auf Felder zu? 1. MyTable.Fields[10].AsString .... Mist, weil fehleranfällig. 2. MyTableThe10thField.AsString .... Schnell, sicher aber unflexibel. 3. MyTable.FieldByName('The10thField').AsString ... Ok, aber lahm 4. MyTable['The10thField'] .... Wie 3. |
Re: 100 x Fieldvalue durch Fieldbyname erstetzen?
Habe gestern experementiert...
150 Felder 4000 DS mit Filebyname gearbeitet (jeden feld angesprochen dauer 3 sekunden) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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