Altova MobileTogether Designer

Éditer les données de BD

Accueil Préc Haut Suivant

Cette section :

 

À propos de OriginalRowSet

Éditer des données BD qui sont dans des tables et dans d'autres commandes

Mise à jour, insertion, ajout et suppression de nœuds

L'action DB Execute et la variable \$MT_DBExecute_Result

Les clés primaires dans MobileTogether Designer

 

À propos de OriginalRowSet

Afin de pouvoir éditer et enregistrer des données, l'arborescence de la source de page doit également comporter un élément OriginalRowSet qui est une copie de l'élément RowSet. Les données originales sont enregistrées dans l'élément OriginalRowSet, alors que les données éditées sont enregistrées dans l'élément RowSet. Lorsque la source de page est enregistrée, la différence entre les deux arbres, OriginalRowSet et RowSet, est calculée et la source de page est mise à jour sur la base de la différence. Si la modification est réussie, les données modifiées sont copiées dans OriginalRowSet de manière à ce qu'OriginalRowSet contienne les données BD récemment enregistrées et le processus de modification peut se renouveler.

 

Veuillez noter:

 

L'élément OriginalRowSet n'est pas créé par défaut dans l'arborescence de la source de page BD. Pour le créer cliquez avec le bouton de droite sur le nœud racine de la source de page BD puis activez la commande Créer OriginalRowSet.

La commande Créer OriginalRowSet est activée pour les nœuds racine de type base de données (\$DB). Il s'agit d'une commande qui crée/supprime une structure de données OriginalRowSet qui contient des données originales de la source de page.

Les données originales de BD sont conservées dans la structure OriginalRowSet jusqu'à ce que les données modifiées soient enregistrées dans la BD. Cela permet de garantir que les données de BD originales sont toujours disponibles dans l'arborescence.

Pour extraire les données d'origine d'une ligne de BD qui a été modifiée mais pas encore enregistrée, utiliser la fonction XPath mt-db-original-row.

 

 

 

 

Éditer des données BD qui sont dans des tables et dans d'autres commandes

Pour créer une commande dans laquelle les données BD peuvent être éditées, procéder comme suit :

 

Utiliser une commande qui est éditable comme par exemple une liste de choix ou un champ d'édition. Une commande de libellé, par exemple, n'est pas éditable. Si une table est utilisée pour générer des lignes répétitives, ajouter les commandes éditables dans les cellules de la table. Voir les sections Éditer la table Offices dans le tutoriel Base de données et graphiques pour consulter un exemple du processus. Voir aussi la description comment travailler avec des tables.

Sur la commande, créer un lien de source de page vers le nœud de source de page à éditer. Pour ce faire, glisser le nœud de source de page dans la commande.

Si vous utilisez une table avec des lignes répétitives, utilisez l'option pour inclure automatiquement les commandes Ajouter/Supprimer lorsque la table est créée (voir capture d'écran ci-dessous).

Click to expand/collapse

L'avantage d'utiliser une table avec des lignes répétitives qui sont liées aux éléments répétitifs Row d'une source de page BD est que lorsqu'une ligne de table a été ajoutée, une ligne BD est également ajoutée automatiquement. Pour plus d'informations, voir la description comment travailler avec les tables. Par exemple, voir le tutoriel Database-And-Charts et les fichiers d'exemple BD MobileTogether Designer.

 

Mise à jour, insertion, ajout et suppression de nœuds

Les actions de données de mise à jour permettent l'édition des nœuds dans les BD lors du déclenchement d'un événement de page ou de commande.

 

Mise à jour des nœuds : Met à jour un ou plusieurs nœuds comme la colonne BD, avec des valeurs générées ou obtenues par l'expression XPath de l'action.

Insertion des nœuds : Insère un ou plusieurs nœuds, comme les lignes BD, avant un nœud sélectionné par l'expression XPath de l'action. La structure et le contenu du nœud sélectionné peuvent aussi être définis.

Ajout des nœuds : Ajoute un ou plusieurs nœuds, comme les lignes BD, en tant que le premier ou le dernier enfant d'un nœud sélectionné par l'expression XPath de l'action. La structure et le contenu du nœud ajouté peuvent être définis.

Suppression des nœuds : Supprime un ou plusieurs nœuds, comme les lignes BD, spécifié par l'expression XPath de l'action.

 

Note:Ces actions sont effectuées sur l'arborescence de données locales. L'arborescence de données modifiées doit encore être enregistrée sur la BD pour que les modifications de l'utilisateur final puissent être passées à la BD.

 

L'action Exécuter BD et la variable \$MT_DBExecute_Result

L'action Exécuter BD vous permet d'utiliser des déclarations SQL puissantes, y compris INSERT, APPEND, UPDATE et DELETE, pour modifier une BD qui diffère des actions figurant dans la section précédente d'une manière importante : les modifications créées par les déclarations SQL de Exécuter BD sont sauvegardées immédiatement dans la BD. Dans le cas des actions figurant dans la section précédente, un mécanisme d'enregistrement doit être utilisé pour enregistrer les modifications de la BD.

 

Une fois que l'action Exécuter BD exécute une déclaration SQL, elle stocke les résultats dans une variable nommée \$MT_DBExecute_Result. Cette variable peut ensuite être utilisée dans des expressions XPath à tout endroit dans le projet. Par conséquence, les structures et les données provenant d'une BD peuvent être sélectionnées (sur la base de paramètres en option), puis elles sont stockées et insérées dans d'autres emplacements.

 

Les clés primaires dans MobileTogether Designer

Les clés primaires dans les BD sont généralement auto-incrémentées. Lorsque cela est le cas et qu'une nouvelle ligne est ajoutée à une table, la colonne de clé primaire de la ligne ajoutée est automatiquement incrémentée. Dans MobileTogether Designer, lorsqu'une table est extraite, la clé primaire et l'information auto-incrémentée sont extraites automatiquement et affichées dans le Volet de sources de page (voir capture d'écran ci-dessous).

MTDDBCDataSrcDB1

Si l'auto-extraction de cette information échoue, le menu contextuel des nœuds d'arborescence contient des commandes qui vous permettront d'annoter correctement les nœuds (voir capture d'écran ci-dessous).

MTDDBKAutoIncrement

Si la colonne de la clé primaire n'est pas auto-incrémentée, de nouvelles valeurs de clé primaires pour les lignes ajoutées doivent être générées automatiquement à l'aide d'une expression XQuery. Cela en raison du fait que les colonnes de clé primaire ne peuvent pas être éditées. L'expression XQuery est insérée en utilisant la commande de menu contextuel du nœud de clé primaire, S'assurer de son existence avant le chargement de la page (Valeur XPath). Dans l'exemple ci-dessous, une nouvelle valeur est générée pour la clé primaire @id en utilisant l'expression XQuery suivante :

 

let \$all := \$DB1/DB/RowSet/Row/@id

let \$ids := remove(\$allindex-of(\$all""))

let \$id := if (empty(\$ids)) then 1 else max(\$ids) + 1

return \$id

MTDDBCDataSrcDB1

 

© 2017-2023 Altova GmbH