Explorer le code, créer des solutions et partager des connaissances dans le monde fascinant du développement logiciel.

jeudi 16 mai 2024

Apprendre COBOL : Gestion des Curseurs

Apprendre COBOL : Gestion des Curseurs
Gestion des Curseurs

Utilisation des Curseurs en COBOL

Les curseurs sont utilisés en COBOL pour parcourir et manipuler des ensembles de données dans une base de données. Voici comment vous pouvez travailler avec les curseurs en COBOL.

Déclaration d'un Curseur

Avant d'utiliser un curseur, vous devez le déclarer. Voici un exemple :

EXEC SQL DECLARE C1 CURSOR FOR
    SELECT EMPLOYEE_ID, EMPLOYEE_NAME, EMPLOYEE_AGE
    FROM EMPLOYEES
    WHERE EMPLOYEE_AGE > 30
END-EXEC.
        

Dans cet exemple, nous déclarons un curseur C1 qui sélectionne les employés ayant plus de 30 ans.

Ouverture d'un Curseur

Après avoir déclaré le curseur, vous devez l'ouvrir pour l'utiliser :

EXEC SQL OPEN C1 END-EXEC.
        

Cette instruction ouvre le curseur C1 pour exécuter la requête SQL associée.

Lecture des Données avec un Curseur

Vous pouvez maintenant lire les données retournées par le curseur :

EXEC SQL FETCH C1 INTO :WS-EMPLOYEE-ID, :WS-EMPLOYEE-NAME, :WS-EMPLOYEE-AGE END-EXEC.
        

Dans cet exemple, les données de l'employé sont lues dans les variables de stockage temporaire WS-EMPLOYEE-ID, WS-EMPLOYEE-NAME, et WS-EMPLOYEE-AGE.

Fermeture d'un Curseur

Une fois que vous avez terminé de lire les données, vous devez fermer le curseur :

EXEC SQL CLOSE C1 END-EXEC.
        

Cette instruction ferme le curseur C1.

Exemple Complet de Gestion de Curseur

Voici un programme COBOL complet utilisant un curseur pour lire et afficher les informations des employés :

IDENTIFICATION DIVISION.
PROGRAM-ID. CursorExample.

ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-EMPLOYEE-ID      PIC X(5).
01 WS-EMPLOYEE-NAME    PIC X(30).
01 WS-EMPLOYEE-AGE     PIC 99.

PROCEDURE DIVISION.
    EXEC SQL DECLARE C1 CURSOR FOR
        SELECT EMPLOYEE_ID, EMPLOYEE_NAME, EMPLOYEE_AGE
        FROM EMPLOYEES
        WHERE EMPLOYEE_AGE > 30
    END-EXEC.

    EXEC SQL OPEN C1 END-EXEC.

    PERFORM UNTIL SQLCODE <> 0
        EXEC SQL FETCH C1 INTO :WS-EMPLOYEE-ID, :WS-EMPLOYEE-NAME, :WS-EMPLOYEE-AGE END-EXEC
        IF SQLCODE = 0 THEN
            DISPLAY 'ID: ' WS-EMPLOYEE-ID ' Name: ' WS-EMPLOYEE-NAME ' Age: ' WS-EMPLOYEE-AGE
        END-IF
    END-PERFORM.

    EXEC SQL CLOSE C1 END-EXEC.

    STOP RUN.

Ce programme déclare un curseur pour sélectionner les employés de plus de 30 ans, ouvre le curseur, lit et affiche les enregistrements, puis ferme le curseur.

Points Clés :

  • Les curseurs sont utilisés pour parcourir les ensembles de données dans une base de données en COBOL.
  • Déclarez le curseur avec DECLARE CURSOR, ouvrez-le avec OPEN CURSOR, lisez les données avec FETCH, et fermez-le avec CLOSE CURSOR.
  • Utilisez les curseurs pour gérer efficacement les ensembles de résultats de requêtes SQL.

Avec ces techniques, vous pouvez manipuler les ensembles de données en utilisant des curseurs dans vos programmes COBOL.

© 2024 Codez avec moi

Aucun commentaire:

Enregistrer un commentaire