|
- Manipuler une requête ou une vue par programmation
- Utiliser une source de données dans une requête SQL
- Propriétés associées aux variables de type Source de données
Source de données (Type de variable) En anglais : Data Source (Type of variable)
Une variable de type Source de données permet de décrire une source de données temporaire (requête, vue, alias, ... ). Toutes les opérations possibles sur une vue (respectivement une requête) pourront être effectuées sur une variable de type Source de données associée à une vue (respectivement une requête). Pour décrire une source de données, il est nécessaire de : - Déclarer une variable de type "Source de données".
- Initialiser la source de données (fonctions HExécuteRequêteSQL ou HCréeVue).
La source de données sera automatiquement libérée à la fin du traitement dans lequel cette source de données est déclarée. Remarque : La source de données peut également être initialisée avec la fonction HDéclareExterne. Dans ce cas, la source de données permet de manipuler un fichier de données en utilisant la description de ce fichier, indépendamment de l'analyse.
Remarques : - A la fermeture de l'application (ou du traitement où la source de données a été déclarée), la source de données sera automatiquement détruite.
- Une source de données globale est toujours globale au contexte HFSQL dans lequel elle a été déclarée.
- Une source de données peut posséder un nom interne différent du nom de la variable, par exemple pour permettre son utilisation dans un tableau. Voir l'option "Nommage des sources de données" dans la description du projet (onglet "Compilation").
Le nommage automatique avec références n'est pas disponible.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL. Versions 17 et supérieures Nouveauté 17 Versions 18 et supérieures Nouveauté 18 Versions 21 et supérieures Nouveauté 21
// Déclaration d'une source de données MaSourceDonnée est une Source de Données MaSourceDonnée1, MaSourceDonnée2 sont des Sources de Données
// Initialiser une variable de type Source de données MaRequête est une Source de Données // MaRequête est associée à une requête // Initialisation de la variable MaRequête HExécuteRequêteSQL(MaRequête, "SELECT NOM FROM CLIENT")
// Initialiser une variable de type Source de données MaVue est une Source de Données // MaVue est associée à une vue // Initialisation de la variable MaVue HCréeVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDéfaut)
// Supprimer une source de données MaRequête est une Source de Données HExécuteRequêteSQL(MaRequête, "SELECT NOM FROM CLIENT") // Destruction de la source de données associée à la variable MaRequête HAnnuleDéclaration(MaRequête) HExécuteRequêteSQL(MaRequête, "SELECT NOM FROM FOURNISSEUR")
// Suppression d'une source de données MaVue est une Source de Données // MaVue est associée à une vue // Initialisation de la variable MaVue HCréeVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDéfaut) // Destruction de la source de données associée à la variable MaVue HDétruitVue(MaVue) HCréeVue(MaVue, CLIENT, "*", "NOM,PRENOM", "NOM]='C'", hVueDéfaut)
Syntaxe
Déclarer une ou plusieurs sources de données Masquer les détails
<Nom de la variable> est une Source de Données <Nom de la variable 1>, <Nom de la variable 2> sont des Sources de données
<Nom de la variable> : Nom de la variable de type "Source de données" à déclarer.Remarque : Les mots-clés une et des ne sont pas obligatoires : ce sont des mots d'agrément. Versions 19 et supérieures
Déclarer une source de données en l'associant à un fichier de données ou une requête Masquer les détails
<Nom de la variable> est une Source de Données <description=Nom Fichier ou Requête>
<Nom de la variable> : Nom de la variable de type "Source de données" à déclarer. <Nom Fichier ou Requête> : Nom du fichier de données ou de la requête dont la description doit être associée à la source de données. Si ce paramètre est précisé, la complétion proposera les différentes rubriques de la source de données associée. Nouveauté 19
Déclarer une source de données en l'associant à un fichier de données ou une requête Masquer les détails
<Nom de la variable> est une Source de Données <description=Nom Fichier ou Requête>
<Nom de la variable> : Nom de la variable de type "Source de données" à déclarer. <Nom Fichier ou Requête> : Nom du fichier de données ou de la requête dont la description doit être associée à la source de données. Si ce paramètre est précisé, la complétion proposera les différentes rubriques de la source de données associée.
Déclarer une source de données en l'associant à un fichier de données ou une requête Masquer les détails
<Nom de la variable> est une Source de Données <description=Nom Fichier ou Requête>
<Nom de la variable> : Nom de la variable de type "Source de données" à déclarer. <Nom Fichier ou Requête> : Nom du fichier de données ou de la requête dont la description doit être associée à la source de données. Si ce paramètre est précisé, la complétion proposera les différentes rubriques de la source de données associée. Pour initialiser une variable de type "Source de données", utilisez la fonction : - HExécuteRequêteSQL si la variable est associée à une requête.
- HCréeVue si la variable est associée à une vue.
- HDéclareExterne si la variable doit être associée à un fichier physique en important la description de ce fichier.
Lorsque la même variable de type Source de données est utilisée plusieurs fois, avec des sources de données différentes, il est nécessaire de libérer la première source de données. Pour libérer l'espace mémoire occupé par la source de données (requête ou vue), utilisez la fonction : Remarques Manipuler une requête ou une vue par programmation Pour manipuler une requête ou une vue par programmation, il est conseillé d'utiliser une variable de type "Source de données". Vous pouvez cependant donner un nom logique lors de l'initialisation de la requête ou de la vue. Il sera alors nécessaire d'utiliser le mot-clé Externe pour manipuler directement la vue ou la requête dans l'éditeur de code. Cette méthode peut ralentir la vitesse d'exécution de vos traitements. Remarque : Lors de l'utilisation d'un nom logique, la requête ou la vue n'est pas détruite automatiquement : il est nécessaire d'utiliser les fonctions HAnnuleDéclaration et HDétruitVue. Par exemple : - Initialiser une requête :
- Initialiser une requête avec un nom logique :
EXTERNE MaRequête HExécuteRequêteSQL(MaRequête, "SELECT NOM FROM CLIENT") // Autre syntaxe possible : // HExécuteRequêteSQL("MaRequête", "SELECT NOM FROM CLIENT") // Utilisation de la requête HLitPremier(MaRequête, Nom) SI PAS HEnDehors() ALORS Info("Le 1er client est : " + MaRequête.Nom) FIN ... HAnnuleDéclaration(MaRequête)
- Initialiser une requête avec une variable "Source de données" :
MaRequête est une Source de Données HExécuteRequêteSQL(MaRequête, "SELECT NOM FROM CLIENT") // Utilisation de la requête HLitPremier(MaRequête, Nom) SI PAS HEnDehors() ALORS Info("Le 1er client est : " + MaRequête.Nom) FIN
- Initialiser une vue :
- Initialiser une vue avec un nom logique :
EXTERNE MaVue HCréeVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDéfaut) // Autre syntaxe possible : // HCréeVue("MaVue", CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDéfaut)
// Utilisation de la vue HLitPremier(MaVue, Nom) SI PAS HEnDehors() ALORS Info("Le 1er client est : " + MaVue.Nom) FIN ... HDétruitVue(MaVue)
- Initialiser une vue avec une variable "Source de données" :
MaVue est une Source de Données HCréeVue(MaVue, CLIENT, "*", "NOM,VILLE", "NOM]='A'", hVueDéfaut) // Utilisation de la vue HLitPremier(MaVue, Nom) SI PAS HEnDehors() ALORS Info("Le 1er client est : " + MaVue.Nom) FIN
Utiliser une source de données dans une requête SQL Pour utiliser une source de données dans le code SQL d'une requête, le code SQL de la requête doit utiliser le nom logique attribué à la source de données. Par exemple : - Utiliser le nom attribué à la "source de données" dans sa déclaration :
TicketArchive est une Source de Données = "NomPourInterrogationSQL"
HDéclareExterne("Ticket_2008.FIC", TicketArchive, CnxBase) REQ est une Source de Données sMaReq est une chaîne = [ SELECT * FROM NomPourInterrogationSQL WHERE CODEPOSTAL='26110' ]
SI HExécuteRequêteSQL(REQ, hRequêteDéfaut, sMaReq) ALORS Info(HNbEnr(REQ) + " tickets correspondent.") FIN
- Utiliser le nom de la "source de données" obtenu par sa propriété ..Nom :
TicketArchive est une Source de Données
HDéclareExterne("Ticket_2008.FIC", TicketArchive, CnxBase) REQ est une Source de Données sMaReq est une chaîne = [ SELECT * FROM %1 WHERE CODEPOSTAL='26110' ] sMaReq = ChaîneConstruit(sMaReq, TicketArchive..Nom)
SI HExécuteRequêteSQL(REQ, hRequêteDéfaut, sMaReq) ALORS Info(HNbEnr(REQ) + " tickets correspondent.") FIN
Propriétés associées aux variables de type Source de données Les propriétés associées aux variables de type Source de données sont les suivantes. Ces propriétés sont identiques à celles s'appliquant à un fichier de données : | | Abréviation | Renvoie l'abréviation de la source de données. | Alphabet | Permet de connaître l'alphabet utilisé par la source de données. | BaseDeDonnées | Permet de connaître et de modifier la base de données associée à une connexion (HFSQL Client/Serveur, OLE DB, ...). | BorneMax | Récupère la borne maximale du filtre en cours (défini par la fonction HFiltre) sur une source de données. | BorneMin | Récupère la borne minimale du filtre en cours (défini par la fonction HFiltre) sur une source de données. | CompressionMMO | Paramètre le mode de compression du fichier MMO (contenant les mémos binaire et texte) associé à la source de données. | ConditionFiltre | Renvoie la condition de sélection mise en place par la fonction HFiltre sur une source de données. | Connexion | Permet de connaître la connexion actuellement associée à une source de données. | CryptageFic | Paramètre le mode de cryptage de la source de données. | CryptageMMO | Paramètre le mode de cryptage du fichier mémo (d'extension .MMO) associé à la source de données. | CryptageNdx | Paramètre le mode de cryptage du fichier d'index associé à la source de données. | CxAccès | Gère le type d'accès au fichier lors de la connexion OLE DB à une table spécifique (en tenant compte des modifications effectuées par la fonction HConnecte). | CxAccèsDécrit | Gère le type d'accès au fichier lors de la connexion OLE DB à une table spécifique (sans tenir compte des modifications effectuées par la fonction HConnecte). | CxBaseDeDonnées | Gère la source de données OLE DB lors de la connexion OLE DB à une table spécifique (en tenant compte des modifications effectuées par la fonction HConnecte). | CxBaseDeDonnéesDécrite | Gère la source de données OLE DB lors de la connexion OLE DB à une table spécifique (sans tenir compte des modifications effectuées par la fonction HConnecte). | CxInfosEtendues | Permet de connaître les informations supplémentaires insérées dans la chaîne de connexion à la base de données. | CxInitialCatalog | Permet de connaître la base de données par défaut définie pour l'accès. | CxLibelléDécrit | Paramètre le libellé de la connexion à la source de données OLE DB. | CxOptionsCurseur | Permet de connaître le type curseur utilisé lors d'une connexion à une base de données externe. | CxProviderOLEDB | Gère le nom du provider OLE DB utilisé (en tenant compte des modifications effectuées par la fonction HConnecte). | CxProviderOLEDBDécrit | Gère le nom du provider OLE DB (sans tenir compte des modifications effectuées par la fonction HConnecte). | CxUtilisateur | Gère le nom de l'utilisateur lors d'une connexion OLE DB (en tenant compte des modifications effectuées par la fonction HConnecte). | CxUtilisateurDécrit | Gère le nom de l'utilisateur lors d'une connexion OLE DB (sans tenir compte des modifications effectuées par la fonction HConnecte). | ExécutionTerminée | Permet de savoir si une requête ou une vue HFSQL Classic ou Client/Serveur a fini de s'exécuter. | Extension | Permet de connaître ou de modifier l'extension d'un fichier de données. | FichierJournal | Permet de savoir si un fichier de données est un fichier journal. | FichierTransaction | Permet de savoir si un fichier de données est un fichier de transaction. | FiltreAvecBornes | Permet de savoir si des bornes ont été précisées sur le filtre mis en place par la fonction HFiltre sur une source de données. | Format | Paramètre le format des données du fichier de données (ANSI ou Unicode). | GrosFichier | Paramètre la taille maximale de la source de données. | GUIDAnalyse | Renvoie le GUID de l'analyse qui a permis de créer le fichier de données. | GUIDFichier | Renvoie le GUID du fichier défini dans l'analyse qui a permis de créer le fichier de données. | IdAutoMax | Permet de connaître l'identifiant automatique maximum sur un fichier répliqué. | IdAutoMin | Permet de connaître l'identifiant automatique minimum sur un fichier répliqué. | InfosEtendues | Renvoie et modifie les informations supplémentaires d'un fichier de données ou d'une rubrique accédé par Accès Natif. | Journalisation | Renvoie le mode de journalisation d'un fichier de données. | NbRubrique | Renvoie le nombre total de rubriques (y compris les clés composées) présentes dans un enregistrement d'un fichier décrit sous l'éditeur d'analyses, un fichier décrit par programmation, une vue HFSQL ou une requête. | NbRubriqueClé | Renvoie le nombre total de rubriques clé (y compris les clés composées) présentes dans un enregistrement d'un fichier décrit sous l'éditeur d'analyses, un fichier décrit par programmation, une vue HFSQL ou une requête. | NbRubriqueMémo | Renvoie le nombre total de rubriques mémo présentes dans un enregistrement d'un fichier décrit sous l'éditeur d'analyses, un fichier décrit par programmation, une vue HFSQL ou une requête. | Nom | Gère le nom des différents objets HFSQL. | Nom55 | Gère le nom logique d'un fichier au format Hyper File 5.5 présent dans une analyse au format HFSQL Classic. | NomDécrit | Gère le nom logique d'un fichier de données. | NomPhysique | Gère le nom physique des fichiers de données. | NomPhysiqueDécrit | Gère le nom physique des fichiers HFSQL (sans tenir compte des changements de noms réalisés grâce à la fonction HChangeNom). | NullSupporté | Permet de gérer la valeur NULL dans un fichier HFSQL. | NuméroGénération | Permet de connaître le numéro de génération du fichier physique associé au fichier logique spécifié. | ProtégéParMotDePasse | Permet de savoir si un fichier est protégé ou non par mot de passe. | Répertoire | Gère le répertoire physique des fichiers HFSQL. Cette propriété tient compte des changements de répertoires réalisés grâce aux fonctions HChangeRep ou HSubstRep. | RépertoireDécrit | Gère le répertoire physique des fichiers HFSQL. Cette propriété ne tient pas compte des changements de répertoires réalisés grâce aux fonctions HChangeRep ou HSubstRep. | RépertoireJournal | Gère le répertoire du fichier journal décrit dans l'analyse. | RépertoireJournalOpération | Permet de gérer le répertoire du fichier des opérations du journal associé à un fichier Journalé. | RépertoireRéplication | Permet de gérer le répertoire du réplica (fichier ".RPL" ou ".RPM"). | RépertoireSauvegardeJournal | Permet de connaître et de modifier le répertoire de sauvegarde des fichiers Journal. | Réplication | Permet de connaître le mode de réplication utilisé pour un fichier de données (fichier défini sous l'éditeur d'analyses ou défini par programmation). Pour les fichiers définis par programmation, il est possible d'indiquer si ce fichier est en mode réplication journalée ou non. | RubriqueFiltrée | Permet de connaître la rubrique sur laquelle un filtre a été mis en place par la fonction HFiltre sur un fichier de données, une vue HFSQL ou une requête. | RubriqueTexteComplétée | Paramètre la gestion des rubriques texte dans un fichier HFSQL. Les rubriques texte peuvent être complétées automatiquement par des espaces (fonctionnement identique à celui de WINDEV 5.5) ou non. | Sécurisé | Paramètre le niveau de sécurité du cryptage des fichiers. | TailleEnregistrement | Renvoie la taille d'un enregistrement (en octets), sans tenir compte des clés composées. | Type | Identifie et modifie le type d'une rubrique. | WDD55 | Chemin du fichier WDD au format 5.5 utilisé pour manipuler des fichiers au format 5.5 dans une application WINDEV, WEBDEV ou WINDEV Mobile. |
Documentation également disponible pour…
|
|
|
| |
| Cliquez sur [Ajouter] pour publier un commentaire |
|
| |
|
| |
| |
| |
| |
| |
| |
| | |
| |