Was ist der effizienteste Weg, um den Zugriff auf den Wert eines Feldes in ein ADO-recordset?

Ich habe eine VB6-Anwendung vor mir, die Zugriff auf Sql-Datenbanken über ADO.

Beim abrufen von recordsets, die Anwendung verwendet das Ausrufezeichen (!) Operatoren zum Zugriff auf die Felder des recordsets Eg RS!Bestell-NR.

Während ich mir bewusst bin von dieser Praxis habe ich eigentlich nie genutzt(außer, wenn ich faul gewesen), Weder habe ich RS("OrderId"), wie ich immer (oder meistens) verwendet werden, der vollständig qualifizierte Versandart (z.B. RS.Felder("OrderId").Wert. oder baute Sie noch weiter mit dem .Item-Eigenschaft.)

Beide geben genau die gleichen Wert kürzer ist, zu geben als die anderen.

Den Grund habe ich klebte an dieser Methode ist, dass irgendwann in der Fernen Vergangenheit, ich glaube, ich wurde gesagt, es war mehr performant voll qualifizieren, das Feld, da war der code übersetzt wird jedes auftreten der ! operator, um den vollständig qualifizierten Schwester. Allerdings, die ! operator reduziert sich auf die Eingabe und als solche dev Zeit.

Auch ich scheine zu erinnern, dass die ! für ADO war veraltet, der irgendwann in der Zukunft. Aber es scheint immer noch zu sein, um im code ich habe nur gefragt, welche Methode gilt als best-practice-und die führt man besser über den anderen.

Alle VB6 ist mehr oder weniger veraltet, nicht? Der Bang-operator wird nicht unterstützt .NET
Die meisten performant sind die ordinalen Methoden; rs(index) oder die (versteckten) Namen nennen, rs.sammeln Sie(index), da Sie beide vermeiden die späte Bindung overhead ! und der key lookup-das ist erforderlich, wenn Sie einen Feldnamen verwenden
Wenn Sie das abrufen der gesamte recordset und nicht schreiben, würde ich denken, es schnellsten GetRows().

InformationsquelleAutor BrianBurkill | 2014-02-03

Schreibe einen Kommentar