Par index !!! J'ai lu dans un livre, il y a quelques temps, qui s'intitulait : "Au coeur de Visual Basic.Net", et dans un chapitre qui parlait sur la manière d'accéder aux données, il suggérait d'accéder aux valeurs stockées dans un DataReader avec un index. Avantage : Performance. Mais je suis sûr que quelques personnes vont me dire que pour la simplicitée du code, il vaut mieux y accéder avec le nom de la colonne... Je ne suis pas encore convaincu :) Voici ma réplique :
int id = reader.GetOrdinal("Id");
reader[id];
Même de cette manière vous être encore plus performant et vous éliminez les chances de décalage si jamais une procédure stockée change un tant soit peu.
Et voici un article qui le prouve : SqlDataReader.GetOrdinal Method