Recordcount ne marche pas!!!!! [Résolu]

Signaler
Messages postés
31
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
13 septembre 2007
-
Messages postés
3
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
1 mars 2005
-
Salut,
Je fais une requete sql dans une page asp et parfois le nombre d'entrée peut dépacer le 50000 lignes. Donc la, la page ne veux pas s'afficher surement parce qu'il y a trop d'info a ecrire. Donc je voudrais limiter le nombre d'entrée. POur ce faire je voudrais bien compter le nb entrées. soit un beau recordcount.
et bien il me met toujours -1 comme valeur.

Set RS = Conn.Execute(SQL)
' affichage du nombre d'enregistrements
response.write "" & RS.Recordcount & " enregistrements"

Thibaut

2 réponses

Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
5
Le plantage se fait sans doute sur le recordset (qui est trop lourd).

Il vaut mieu faire une première requette qui va te donner le nombre d'enregistrements

SELECT COUNT(*) FROM TOTO.....

Ensuite il faut faire de la pagination si tu souhaites afficher autant d'informations, cf ici :
- http://www.asp-php.net/tutorial/asp-php/pagination.php

Romelard Fabrice (Alias F___)
Messages postés
3
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
1 mars 2005

pour que le recordcount retourne une valeur, il faut avoir ouvert le recordset avec les paramêtres 3,3 comme suit:
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql, conn, 3, 3

maintenant, si vous faites
response.write " " & RS.Recordcount & " enregistrements "
alors vous obtiendrez le résultat escompté.

Cependant, il y a un astuce qui pourait vous être util, c'est d'afficher uniquement les n premières lignes de la table selon vos critères de tri (exemple les plus récents enregistrements):
sql = "SELECT TOP 100 * FROM ma_table ORDER BY ma_table.ma_date DESC"

ERRAIS