Wenn Sie herausfinden möchten, wie viele Datensätze sich in einer bestimmten SQL-Ergebnismenge befinden, können Sie entweder den Befehl RecordCount oder Count verwenden. Beide arbeiten unterschiedlich.
Erstens, wenn Sie nur die Anzahl der Elemente in einem Satz zählen möchten, müssen Sie nicht alle Datensätze in dieser Abfrage zurückgeben! Das ist unglaublich ineffizient. Alles was Sie brauchen ist diese eine Zählnummer. Die Syntax dafür wäre
Wählen Sie count (*) als ct von den Autoren.
Diese Abfrage wird schnell ausgeführt, gibt einen Wert namens count zurück und kann mit der normalen Stilzuweisung aufgerufen werden.
WriterCt = objRec3 ("ct")
Deshalb empfehle ich immer, auf diese Weise zu zählen, wenn das alles ist, was Sie wollen.
Wenn Sie tatsächlich einen Stapel von Informationen aus der Datenbank erhalten und am Ende wissen müssen, wie viele Datensätze Sie durchlaufen haben, würde ich einfach eine Zählervariable verwenden. Angenommen, Sie listen Ihre Autoren auf und möchten dem Benutzer unten einen Gesamtbetrag für Autoren anzeigen. Sie würden eine normale Schleife machen:
WriterCt = 0
tun, während nicht objRec3.EOF
...
(Zeigen Sie die Autoren usw.)
WriterCt = WriterCt + 1
Schleife
Wenn Sie die Schleife beenden, wird WriterCt auf die Gesamtzahl der von Ihnen verarbeiteten Writer festgelegt. Dies ist besonders gut in Fällen, in denen Sie bestimmte Autoren bei der Verarbeitung ignorieren. Sie können sicherstellen, dass nur Autoren gezählt werden, die Sie dem Benutzer tatsächlich anzeigen.
Schließlich gibt es ein Recordset-Attribut namens RecordCount. Das RecordCount-Attribut funktioniert jedoch nicht mit allen Cursorstilen. In ASP werden alle Arten von Cursorn verwendet. Einige sind so eingerichtet, dass sie sich nur in Vorwärtsrichtung bewegen. Einige sind so eingestellt, dass sequentielle Verschiebungen durch die Datenbank möglich sind, während andere nur einen Ergebniswert erhalten sollen. Je nachdem, welchen Cursorstil Sie verwenden, haben Sie möglicherweise Zugriff auf eine Gesamtanzahl von Datensätzen der Ergebnismenge. Wenn Sie diese Datensatzanzahl tatsächlich erhalten möchten, bevor Sie mit den Ergebnissen arbeiten, stellen Sie sicher, dass Sie einen Cursorstil eingerichtet haben, der mit dem RecordCount-Attribut kompatibel ist. Denken Sie jedoch daran, dass unterschiedliche Cursorstile unterschiedliche Serverlast und Overhead haben. Es kann also viel effizienter sein, einfach zu zählen, als einen Cursor-Stil zu öffnen, den Sie wirklich nicht benötigen.
Video-Anleitungen: How to use Sum, Avg and Count in Select Statement - SQL Server / TSQL Tutorial Part 128 (September 2023).