BD Exécuter

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Actions > Base de données >

BD Exécuter

Lorsque l'événement est déclenché, l'action BD Exécuter procède à l'instruction  SQL de l'action sur la source de données sélectionnée dans la liste de choix Connexion. Cette liste de choix recense toutes les sources de données du projet et offre également l'option de paramétrer une connexion de base de données supplémentaire à utiliser spécifiquement avec l'action BD Exécuter. Si la liste de choix Stocker les résultats dans $MT_DBExecute_Result est sélectionnée, les résultats sont stockés dans la variable $MT_DBExecute_Result. Cette variable peut ensuite être utilisée dans des expressions XPath ailleurs dans la page pour fournir le résultat de l'action BD Exécuter.

MTDDBExecute01

 

Traitement d'erreur

 

L'option sur erreur vous permet de définir les actions à exécuter en cas d'erreur :

Abandonner le script : en cas d'erreur, toutes les actions suivantes de l'événement déclenché sont terminées. Il s'agit là de l'action par défaut si une erreur se produit. Si vous souhaitez continuer malgré une erreur, sélectionner l'option Continuer ou Throw.
Continuer : les actions ne sont pas terminées. Au lieu, vous pouvez sélectionner ce que vous souhaitez faire dans les cas variés : en cas d'absence d'erreur (Sur succès), ou en cas d'erreur (Sur erreur). Par exemple, si vous souhaitez afficher une fenêtre de messages indiquant si un chargement de page a été effectué avec succès ou pas.
Throw: si une erreur est détectée, cette option lance une exception qui sera stockée dans la variable de l'action Try/Catch. La partie Catch de l'action Try/Catch est utilisée pour spécifier quelle action effectuer en cas d'erreur. Si aucune erreur ne se produit, l'action suivante sera traitée. Voir la section action Try/Catch pour plus de détails.

 

Pour plus d'informations concernant l'utilisation de l'action, voir la section Design de page | Base de données | L'action BD Exécuter.

 

Note:L'action BD Exécuter est utilisée pour interagir avec des données dans les sources de page de BD. ll ne s'agit pas du mécanisme approprié pour l'affichage de données. Si vous souhaitez afficher des données provenant d'un nœud de source de page de BD, veuillez insérer (dans le design) une commande liée à un nœud de source de page. Pour plus d'informations, veuillez consulter les sections concernant les commandes et les sources de page. Les tutoriels vous indiquent des instructions précises pour l'affichage des données de source de page.

 

L'instruction SQL

Pour saisir ou modifier l'instruction SQL, cliquer sur le bouton Dialogue supplémentaire. Le dialogue Éditer l'instruction SQL s'affiche (capture d'écran ci-dessous). L'objet racine en bas du dialogue est sélectionné automatiquement et est basé sur la sélection dans la liste de choix Connexion. Le champ Objet racine ne peut pas être modifié. Avant le traitement, veuillez vous assurer qu'il s'agit bien de l'objet racine que vous souhaitez.

Click to expand/collapse

Instruction fixe à paramètres optionnels

Pour saisir une instruction SQL, sélectionner Instruction fixe à paramètres optionnels, et saisir l'instruction SQL. L'utilisation des paramètres dans l'instruction SQL permet une plus grande flexibilité. Par exemple, dans la capture d'écran ci-dessus, au lieu de saisir une valeur fixe pour la clause WHERE, un nom de paramètre Maker est utilisé pour fournir la valeur d'un nœud dans une source de page XML. Dans la première ligne ci-dessous, une valeur fixe est utilisée, dans la seconde ligne, le paramètre Maker.

 

WHERE Manufacturer= 'BMW'

WHERE Manufacturer= :Maker 

 

Pour utiliser un paramètre, écrire le du nom du paramètre précédé d'un double-point (:) dans la déclaration SQL à l'endroit où vous voulez l'utiliser. Dès que vous saisissez le premier caractère après le double-point, une entrée sera créée pour le paramètre dans le panneau Paramètres. Ensuite, dans le panneau Paramètres, saisir une expression XPath pour fournir la valeur du paramètre. Vous pouvez saisir autant de paramètres que vous le souhaitez.

 

Note :Dans l'instruction SQL, les noms de colonne et de table provenant de la base de données de source sont utilisés puisque l'instruction SQL requiert directement la BD. En revanche, dans l'expression XPath des paramètres, vous devez utiliser les noms des nœuds dans les arborescences de source de page (Row, RowSet, etc.) puisque ce sont ces arborescences dans lesquelles les valeurs du design sont stockées dans le design.

 

Instruction générée avec XPath

Vous pouvez aussi utiliser XPath pour générer une instruction SQL. Choisir Instruction générée avec XPath, et saisir l'expression XPath qui génère l'instruction SQL requise. L'avantage est que cela apporte une plus grande flexibilité dans la création de l'instruction SQL. Par exemple, vous pouvez inclure des nœuds d'arborescence de design, d'autres structures XPath, et une entrée d'utilisateur final pour calculer et générer des parties de l'instruction SQL.

 

Pour construire une instruction SQL en utilisant une expression XPath, choisir Instruction construite avec XPath. Dans le dialogue Éditer l'expression XPath/XQuery qui apparaît, saisir l'expression XPath et cliquer sur OK.

 

Exécuter une fois pour chaque nœud

L'instruction SQL peut être exécutée une fois sur la source de données ou elle peut être exécutée sur tous les nœuds d'un ensemble de nœuds défini par l'utilisateur. Si vous sélectionnez la deuxième option, vous devrez saisir une expression XPath qui génère l'ensemble des nœuds. L'instruction SQL exécutera ensuite pour chaque nœud dans cet ensemble de nœud. De plus, vous pouvez demander la valeur du nœud actuel de l'ensemble de nœuds en utilisant la variable $MT_TargetNode. Cette variable peut être utilisée, par exemple, dans la définition d'un paramètre utilisé dans l'instruction SQL (voir "Instructions SQL avec les paramètres" ci-dessus).

MTDDBExecute02

 

La variable $MT_DBExecute_Result

L'ensemble de nœuds ou une autre valeur retournée par (l'instruction SQL de) l'action DB Execute est stocké dans la variable intégrée $MT_DBExecute_Result de MobileTogether Designer. Cette  variable stocke le résultat de la dernière action DB Execute du projet et peut être utilisée dans des expressions XPath dans d'autres emplacements du projet.

 

Si l'action BD Exécuter retourne un ensemble de nœuds, vous pouvez construire un élément et insérer l'ensemble de nœud en tant qu'un enfant de l'élément construit. En alternative, vous pouvez sérialiser l'ensemble de nœuds en utilisant la fonction serialize(), comme ceci : serialize($MT_DBExecute_Result). Les deux expressions XPath sont affichées soulignées en rouge dans la capture d'écran ci-dessous.

MTDDBExecuteResult

Si vous souhaitez accéder à un nœud spécifique dans l'ensemble de nœuds, vous pouvez y accéder avec une expression XPath. Par exemple, si vous prenez l'action Exécuter BD dans la capture d'écran ci-dessus. Si, par exemple, l'instruction SELECT retourne l'ensemble de nœud suivant :

 

<DB>

   <RowSet>

       <Row Model="Z3 COUPE 2014"/>

       <Row Model="Z3 COUPE 2015"/>

       <Row Model="Z3 COUPE 2016"/>

       <Row Model="Z4 3.0 SI COUPE 2014"/>

       <Row Model="Z4 COUPE 2015"/>

   </RowSet>

</DB>

 

Pour accéder au nom de modèle de la première voiture dans l'ensemble de nœud retourné, l'expression XPath serait : $MT_DBExecute_Result/DB/RowSet/Row[1]/@Model.
Pour accéder à la ligne de la voiture contenant l'année 2016 dans son nom de modèle, l'expression XPath serait : $MT_DBExecute_Result/DB/RowSet/Row[@Model[contains(. , '2016')]].

 


© 2019 Altova GmbH