Il semble que les gens ont perdu la possibilité de générer des rapports COBOL/RPG à l'ancienne en utilisant les langages modernes.Comment: utiliser un lecteur de données sans compter les enregistrements
Je vois souvent du code en utilisant DataReaders qui repose sur un nombre d'enregistrements. Ainsi, une requête agrégée supplémentaire est présente lorsque cela n'est pas nécessaire.
Dans la plupart des cas, ce code doit savoir s'il existe un autre enregistrement ou non. En d'autres termes, dites-moi si je suis au dernier enregistrement afin que je puisse afficher un séparateur d'enregistrement.
Un algorithme simple serait la suivante:
Dim available As Boolean = rdr.Read()
While available
DisplaySearchRecord(rdr)
available = rdr.Read()
If available Then DisplaySeparator()
End While
S'il vous plaît, ne pas utiliser COUNT (*) ou un datatable/ensemble de données quand un simple changement dans l'algorithme suffit. Pourquoi ne pas montrer le séparateur après le while
?
Est-ce une question ou juste quelque chose qui vous agace? –
Tout à fait raison. Ce n'est pas une question. Je ne demande pas. Je dis. Un peu étrange pour un tableau de questions. Mais j'espère que quelqu'un trouvera cela et aura un moment aha. Les trois commentaires jusqu'à présent me font me demander ... –