Question 98

Pourquoi la propriété RecordCount de mon Recordset me retourne toujours -1 ?

C'est que tout simplement le type de curseur que vous avez choisi ne supporte pas la propriété RecordCount. Seuls les curseurs de type "static" et "keyset" permettent de connaître le nombre d'enregistrements d'un recordset. Or par défaut ADO emploie un curseur côté-serveur de type "en avant seulement" (forward only).

Sachez enfin que si vous employez un curseur côté-client, son type est automatiquement défini à "static" et dès lors la propriété RecordCount est toujours correcte.

Si vous ne savez pas ce qu'est un curseur, ou bien que vous désirez comprendre pourquoi certains types de curseur ne supportent pas la propriété RecordCount, je vous conseille alors de lire l'excellent Livre Blanc Technique consacré aux curseurs et disponible à cette adresse : http://www.microsoft.com/france/msdn/support/whitepaper/default.asp.

Vous pouvez aussi jeter un coup d'oeil à cette fiche : 194973 - PRB: ADO: Recordcount May Return -1.

Date de publication : 26 janvier 2003
Dernière modification : 26 janvier 2003
Rubriques : Bases de données
Mots-clés : base de données, RecordCount, -1, négatif, curseurs, cursor, ADO, ADODB