2009-06-05 8 views
0

HI,SQL Server 2005, Pagin Query obtenir tous les résultats nombre

J'ai quelques tables avec beaucoup d'enregistrements, pour un rapport, je dois rejoindre ces tables.

Si je veux obtenir toutes les lignes, j'obtiens l'erreur Time out, j'ai utilisé la requête de pagination dans SQL Server 2005, et je peux obtenir le résultat page par page.

mais j'ai besoin de connaître le nombre de résultats ou le nombre de pages de ma requête. sur une requête paginée, si j'utilise count () J'ai obtenu la taille de la page, pas le nombre total de résultats, et si j'essaie d'obtenir count () sur tous les enregistrements, j'obtiens le message d'erreur Timeout.

Existe-t-il une méthode pouvant vous aider à trouver le nombre de pages d'une requête?

Merci

Répondre

0

en page au courant sélectionner les procédures stockées (normalement créées par par exemple .netTiers modèle CodeSmith) renvoient un multiple résultat. Le premier ensemble de résultats est une page de données et le second ensemble est le nombre d'enregistrements. Cela signifie que vous devez avoir deux instructions SELECT dans votre SP qui ont toutes deux la même clause WHERE qui applique le même filtre sur les lignes de la requête.

+0

Je n'utilise pas le code Smith, si j'utilise un autre select utilisant le même filtre (sans pagination et utilise simplement count (*), celui-ci lance Time out – Ashian

+0

Je sais que vous n'utilisez pas CodeSmith. ce problème en premier lieu Quelle est la taille approximative de l'ensemble de résultats (non paginé)? –

+0

vérifier comment c'est fait dans .netTiers: http://blog.benpowell.co.uk/2009/02/paging-and-sorting- in-nettiers-custom.html –