ODBC EXECUTER

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 2004


ODBC EXECUTER (instructionSQL{; objetLié}{; objetLié2; ...; objetLiéN})

ParamètreTypeDescription
instructionSQLTexteCommande SQL à exécuter
objetLiéVar | ChampRéception du résultat (si nécessaire)

Description

La commande ODBC EXECUTER permet d'exécuter une commande SQL et d'associer le résultat à des objets 4D (tableaux, variables ou champs) liés.

Pour que la commande puisse être exécutée, une connexion valide doit être ouverte dans le process courant.

Le paramètre instructionSQL contient la commande SQL à exécuter. Le paramètre objetLié reçoit les résultats. Les objets sont liés dans l'ordre de la colonne, ce qui signifie que les éventuelles colonnes distantes supplémentaires sont ignorées.

Si des champs 4e Dimension sont passés dans le(s) paramètre(s) objetLié, la commande créera des enregistrements et les sauvegardera automatiquement. Les champs doivent appartenir à la même table (il n'est pas possible de passer un champ de la table 1 et un champ de la table 2 dans le même appel). Si des champs de tables différentes sont passés, une erreur est générée.

Si vous passez des tableaux ou des variables 4D dans le(s) paramètre(s) objetLié, il est conseillé de les déclarer préalablement à l'appel de la commande afin de contrôler le type de données traitées. Les tableaux sont redimensionnés automatiquement si nécessaire.

Dans le cas d'une variable 4D, un seul enregistrement est récupéré à la fois.

Exemples

(1) Dans cet exemple, nous récupérons la colonne ename de la table emp dans la source de données externe. Le résultat est stocké dans le champ 4D [Employés]Nom. Les enregistrements 4e Dimension seront créés automatiquement :

   SQLStmt:="SELECT ename FROM emp"
   ODBC EXECUTER(SQLStmt;[Employés]Nom)
   ODBC CHARGER ENREGISTREMENT(ODBC Tous les enregistrements)

(2) Pour mieux contrôler la création des enregistrements, il est possible d'inclure le code au sein d'une transaction et de ne la valider que si le déroulement de l'opération s'est avéré satisfaisant :

   ODBC LOGIN("mysql";"root";"")
   SQLStmt:="SELECT alpha_field FROM app_testTable"
   DEBUT TRANSACTION
   ODBC EXECUTER(SQLStmt;[Table 2]Champ1)
   Tant que(Non(ODBC Fin de selection))
      ODBC CHARGER ENREGISTREMENT
      ...   `Placer ici le code de validation des données
   Fin tant que
   VALIDER TRANSACTION   `Validation de la transaction

(3) Dans cet exemple, nous récupérons la colonne ename de la table emp dans la source de données externe. Le résultat est stocké dans le tableau tNoms. Nous récupérons les enregistrements 10 par 10.

   TABLEAU ALPHA(30;tNoms;20)
   SQLStmt:="SELECT ename FROM emp"
   ODBC EXECUTER(SQLStmt;tNoms)
   Tant que(Non(ODBC Fin de selection))
      ODBC CHARGER ENREGISTREMENT(10)
   Fin tant que

(4) Dans cet exemple, nous récupérons les colonnes ename et job de la table emp pour un ID spécifique (clause WHERE) de la source de données externe. Le résultat est stocké dans les variables 4D vNom and vJob. Seul le premier enregistrement est récupéré.

   SQLStmt:="SELECT ename, job FROM emp WHERE id = 3"
   ODBC EXECUTER(SQLStmt;vName;vJob)
   ODBC CHARGER ENREGISTREMENT

(5) Dans cet exemple, nous récupérons la colonne Champ_Blob de la table Test dans la source de données externe. Le résultat est stocké dans une variable BLOB dont la valeur est mise à jour à chaque chargement d'enregistrement.

   C_BLOB(MonBlob)
   ODBC LOGIN
   ODBC EXECUTER("SELECT Champ_Blob FROM Test";MonBlob)
   Tant que(Non(ODBC Fin de selection))
         `On parcourt le résultat
      ODBC CHARGER ENREGISTREMENT
         `La valeur de MonBlob est mise à jour à chaque appel
   Fin tant que

Référence

ODBC CHARGER ENREGISTREMENT.

Variables et ensembles système

Si la commande a été correctement exécutée, la variable système OK retourne 1, sinon elle retourne 0.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant