IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Problème de gestion des signets après execution d'une procédure stockée


Sujet :

ASP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème de gestion des signets après execution d'une procédure stockée
    Tout d'abord bonjour à tous,

    je rencontre un problème assez génant lors de la lecture de mes resultats provenant d'un procédure stockée, voici mon problème en détail :

    1) J'appel une procédure qui me renvoie une table de résultats comme indiqué ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    CREATE PROCEDURE [dbo].[p_ma_procedure]
            --mes parametres
    AS
    BEGIN
     
        -- Utilisation de table temporaire
        CREATE TABLE #tmp (
               -- bla bla
         )
     
        -- Requete de selection de mes données
        DECLARE @req varchar(8000)
     
         -- Execute une requete et l'insert en base temporaire
         INSERT INTO #tmp
         EXEC(@req) 
     
        -- Je retourne les resultats contenus ds ma table temp.
         SELECT * FROM  #tmp
     
        -- Supprime ma table
        DROP TABLE #tmp
     
    GO

    2) Au final je souhaite utiliser ma procedure avec gestion de signets afin de gérer les pages de résultats comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <%
    Set rs         = server.createobject("ADODB.Recordset")
    'Activation des signets  (3 resultats souhaités par page)
    rs.PageSize = 3
    rs.open "EXEC dbo.p_ma_procedure 'mesparametres'",ma_connexion, 1
    %>
    <%
    'AFFICHAGE DES RESULTATS
    while not rs.eof 
        'Affichage de la première page
        rs.AbsolutePage = 1
    %>
        <%= rs(0) %>
    <%
        rs.movenext 
    WEnd 
    %>
    Avec une requete classique (sans procedure ou avec fonction retournant une table) cela fonctionne bien mais dans ce cas j'obtiens l'erreur asp suivante:


    ADODB.Recordseterror '800a0cb3'

    Le jeu d'enregistrements en cours ne prend pas en charge les signets. Il s'agit peut-être d'une limitation du fournisseur ou du type de curseur sélectionné.


    Je précise que je dois absolument passé par ma procédure stockée, je ne peux donc pas utiliser une fonction retournant une table car je travail avec des tables temporaires.
    J'ai egalement tester la lecture avec un objet ADODB.command et le résultat est le même !

    Ma question est finalement toute simple: "Comment utiliser des signets sur les résultats d'une procédure stockée ?"
    Je n'ai peut être pas connaissance d'un paramètre à spécifier en SQL ou en ASP... ou ceci est peut etre impossible mais j'en doute.
    je compte donc sur une réponse experte pour m'éclairer !
    Merci d'avance pour votre aide

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Re
    bon, aprés des heures de recherche intensive et de prise de tete j'ai enfin trouvé la solution qui etait finalement toute bête comme l'indique le message d'erreur ASP !

    LA SOLUTION
    Rajouter simplement le parametre avant rs.open :

    rs.CursorLocation = adUseClient

    Et voilà une belle auto-réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/12/2010, 14h49
  2. [QThread] Problème de gestion des threads après connexions multiples sur un serveur
    Par vince-29 dans le forum Multithreading
    Réponses: 5
    Dernier message: 23/11/2010, 21h28
  3. Réponses: 7
    Dernier message: 05/06/2008, 14h37
  4. Réponses: 3
    Dernier message: 06/11/2007, 19h15
  5. Réponses: 3
    Dernier message: 01/12/2006, 12h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo