Salut à tous.

Je souhaite récupérer les n premiers enregistrements d'une, puis les n suivants, etc. pour les afficher dans un programme vb page par page.

Je voudrais récupérer les résultats dans mon result set, grâce à un curseur, mais là je me demande si c'est possible.

Ne faut-il pas plutot passer par une table de travail ?

J'utilise la procédure stockée 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
19
20
21
22
23
 
 
CREATE PROCEDURE LIMSPRD.ESSAI07(IN PARALG INTEGER)
RESULT SETS 
LANGUAGE SQL 
BEGIN 
 
DECLARE LON INTEGER;
DECLARE IARART CHAR(20); 
DECLARE IARCAT INTEGER;  
DECLARE IARD1  CHAR(30);
DECLARE IARD2  CHAR(30);
DECLARE IARD3  CHAR(30);   
DECLARE IARLST CHAR(20);
DECLARE SQUERY CHAR(512); 
 
DECLARE C1 DYNAMIC SCROLL CURSOR WITH RETURN FOR SELECT ARART,ARCAT,ARD1,ARD2,ARD3,ARLST FROM LIMSPRD.ART;
 
 
OPEN C1;                   
FETCH FIRST FROM C1 FOR 18 ROWS INTO IARART,IARCAT,IARD1,IARD2,IARD3,IARLST;                      
 
END
La compilation me crache les messages suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
  Elément syntaxique FOR n'est pas correct.     
  Eléments possibles : INTO.                                
 
  Elément syntaxique IARART n'est pas correct.  
  Eléments possibles : :.

(config : DB2 400 V5R1)