Quel est le moyen le plus efficace pour accéder à la valeur d'un champ dans un jeu d'enregistrements ADO?

J'ai une application VB6 en face de moi, qui accède à des Bases de données Sql via ADO.

Lors de la récupération des jeux d'enregistrements, l'application utilise le Bang (!) les opérateurs d'accéder aux champs dans les jeux d'enregistrements par exemple RS!N ° de commande.

Pendant que je suis au courant de cette pratique, je n'ai jamais réellement utilisé(sauf quand j'ai été paresseux), et je n'ai pas utilisé RS("OrderId") comme je l'ai toujours (ou souvent) utilisé pleinement qualifié de la méthode (par exemple RS.champs("OrderId").de la valeur. ou même élargi elle a en outre l'aide de l' .Propriétés De L'Élément.)

Reviennent tous les deux exactement la même valeur, l'un est plus court à taper que les autres.

La raison pour laquelle j'ai collé de cette méthode est que parfois, dans le passé lointain, je crois que j'ai dit qu'il était plus performant pour obtenir le champ, comme le code a pour traduire chaque occurrence de la ! opérateur de son pleinement qualifié sœur. Cependant, l' ! l'opérateur réduit en tapant et en tant que tel dev temps.

J'ai aussi semble me rappeler que le ! pour ADO allait être obsolète à un certain moment dans l'avenir. Mais il semble toujours être autour dans le code, je me demandais quelle méthode est considérée comme la meilleure pratique et celui qui fonctionne mieux sur les autres.

Tous VB6 est plus ou moins obsolète, non? Le coup de l'opérateur n'est pas pris en charge .NET
Les plus performantes sont les méthodes ordinales; rs(index) ou de son (caché) nommé call rs.collecter(index) comme ils ont tous les deux éviter la liaison tardive généraux de ! et la clé de recherche c'est requise lorsque vous utilisez un nom de champ
Si vous êtes à la récupération de la totalité du jeu d'enregistrements et ne pas écrire en arrière, j'avais pense que c'rapide à utiliser GetRows().

OriginalL'auteur BrianBurkill | 2014-02-03