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 :
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:
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 %>
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![]()
Partager