AspGerman Wiki

Das Recordset Objekt stellt die RecordCount Eigenschaft zur Verfügung, die es ermöglicht die Anzahl der Datensätze im Recordset zu bestimmen. Damit aber die RecordCount Eigenschaft einen Wert zurückliefern kann, muss man das Recordset richtig vorbereiten.

Das folgende Beispiel zeigt, wie man ein Recordset vorbereitet, sodass man die RecordCount Eigenschaft benutzen kann:

strSQL = "SELECT * FROM Table"
Set conn = CreateObject("ADODB.Connection")
conn.Open "DSN=MyDatabaseDSN"
Set rs = CreateObject("ADODB.RecordSet")
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.Open strSQL, conn
Response.Write "Anzahl der Datensätze = " & rs.RecordCount

In den Zeilen 5 und 6 wird die Cursor Location und der Cursor Type festgelegt. Dies ist notwendig, da nur ein geeigeneter Recordset Cursor die Anzahl der Records im Recordset zurückliefern kann. @@

Im Allgemeinen kann man die RecordCount Eigenschaft ohne Probleme verwenden solange man keinen Server-seitigen, Forward-only Cursor oder einen Server-seitigen, Dynamischen Cursor benutzt. Man muss eine CursorLocation und/oder einen geeigneten CursorType festlegen bevor man das Recordset öffnet, da der "Default Cursor" für ein Recordset ein Server-seitiger Cursor (CursorLocation) vom Typ Forward-Only (CursorType) ist.

Wenn ADO die Anzahl der Datensätze nicht bestimmen kann, weil der Cursor es nicht erlaubt, so liefert die RecordCount Eigenschaft den Wert -1 zurück. Dann sollte man sich CursorType und CursorLocation anschauen.

ScrewTurn Wiki version 2.0.33. Some of the icons created by FamFamFam.