‫Content de te revoir.
‫Dans cette vidéo, nous allons ajouter le reste de notre interface utilisateur et nous allons ajouter une
‫fonctionnalité pour le moment, qui va supprimer ZUS.
‫Alors allons-y et faisons-le.
‫Comme vous pouvez le voir, voici à quoi devrait ressembler plus ou moins l'interface.
‫Et nous allons le construire presque de la même manière.
‫Nous pourrions le construire de la même manière en tapant les mêmes informations ici en bas.
‫Mais il s'agit davantage de le faire glisser et de le déposer afin que nous puissions exécuter le code Haskell dont nous avons besoin ou, en général, le code
‫de la base de données dont nous avons besoin en C Sharp.
‫Alors tout d'abord, ouvrons la boîte à outils pour voir ce dont nous avons besoin et nous aurons
‫besoin de boutons.
‫Et je vais faire glisser un bouton juste ici comme ça avec un peu de distance.
‫Et ce bouton devrait dire quelque chose comme supprimer le contenu, alors je vais copier ce bouton copier-coller, je vais
‫le faire glisser à côté.
‫Et celui-ci a été supprimer un animal parce que nous ne le supprimons pas, mais nous le supprimons simplement.
‫Et Nimo et celui-ci n'est pas supprimé de manière contemplative, soit dit en passant.
‫Nous avons donc également supprimer et supprimer l'animal maintenant copier et coller.
‫Je vais le mettre ici, copier et coller à nouveau.
‫En fait, il suffit de créer les boutons avant de les renommer et ici.
‫Et puis un autre en bas ici et le dernier en haut à droite là.
‫Alors peut-être devrions-nous tout faire glisser un peu plus bas comme ça pour qu'il y ait suffisamment d'espace pour le bouton de
‫suppression.
‫Et celui-ci peut aller comme ça.
‫Très bien, alors maintenant, ce que nous pourrions faire aussi, c'est de faire glisser ces deux-là un peu vers le bas aussi pour
‫que les listes aient la même hauteur que celle sur le côté droit.
‫Eh bien, ce n'est pas grave, il ne s'agit pas de perfection, une interface utilisateur parfaite ici, il s'agit d'autres sujets, comme vous le
‫savez.
‫OK, donc cinq cents, c'est trop pour 50.
‫Ça devrait aller.
‫Et maintenant, l'année, regardons six cents.
‫C'est encore trop.
‫Ou six.
‫Vingt cinq.
‫Six cents devrait être un peu mieux.
‫Peut-être cinq quatre vingt ou quelque chose comme ça.
‫OK, alors maintenant tous les boutons sont en place.
‫Il y a la fenêtre principale qui a l'air bien.
‫Nous pourrions même changer le nom de notre titre.
‫Faisons-en un gestionnaire de zoo.
‫Très bien.
‫Nous avons cette liste, le zoo principal.
‫Nous pouvons maintenant modifier le contenu de tous ces boutons.
‫Alors celui-là était au zoo.
‫Celui-là est le zoo de mise à jour.
‫En fait, celui-là n'était pas là pour qu'il y ait un animal car ils ne sont pas dans l'ordre de haut en
‫bas.
‫Il leur suffit de cliquer ici et là.
‫Vous pouvez voir en sélectionnant celui qui me convient tout de suite.
‫Donc, celui-ci devrait être mis à jour zoo.
‫Ce bouton ici est l'animal de mise à jour.
‫Celui-là est l'animal principal
‫et celui-ci sera d'animal à zoo, d'animal à zoo, et maintenant je pense que nous avons terminé et ils font en fait cette mise à jour du
‫zoo, celle-ci devrait être changée.
‫Mettre à jour plus.
‫Très bien.
‫Alors maintenant, tous nos boutons vont bien.
‫Nous avons juste besoin d'une zone de texte ici au milieu.
‫Et je vais le repositionner un peu comme ça.
‫Agrandissez-le et oui, comme ça devrait aller, nous pourrions même changer la taille de la police de la zone de
‫texte pour qu'elle soit un peu plus grande, mais ça devrait aller.
‫Comme je l'ai dit, pas de journalisme parfait ici ou de perfectionnisme dans cette interface utilisateur.
‫OK, alors maintenant que nous avons cela, nous pouvons aller de l'avant et ajouter le bouton Supprimer.
‫Je vais donc double-cliquer sur le bouton.
‫Et je reçois cet événement de clic de bouton, et en fait je n'aime pas ce nom, alors peut-être que ce n'est pas le meilleur.
‫Revenons en arrière et changeons-le.
‫Nous avons donc ce bouton et il a reçu cet événement appelé Button Click et je
‫vais l'appeler Delete Zoo et peut-être même quelque chose comme Underscore Click.
‫Ce sera le nouveau gestionnaire d'événements que je vais créer.
‫Je vais copier ce nom et je vais implémenter la méthode moi-même.
‫C'est un vide privé.
‫A-t-il cliqué ?
‫Et comme vous le savez, il a besoin d'un objet, qui est l'expéditeur et il a besoin d'un événement routé args et
‫ici aussi.
‫Maintenant, ici, nous pouvons simplement vérifier d'abord si le bouton fonctionne dans la boîte de message ou montrer que le prospect a été cliqué
‫ou quelque chose comme ça, le prospect a été cliqué.
‫Maintenant, exécutons-le juste pour voir si le bouton fonctionne correctement.
‫Exact, que nous sommes.
‫Voici donc notre interface.
‫Tout semble déjà bon.
‫Maintenant, supprimons le zoo.
‫Supprimer le zoo était parfait.
‫Donc le bouton fonctionne.
‫Maintenant, nous pouvons aller de l'avant et le mettre en œuvre correctement ici.
‫Ce que je vais faire, c'est créer une nouvelle requête parce que je voulais aller bien, je veux que ça supprime quelque
‫chose.
‫Je vais donc utiliser le mot clé delete de quelle table ?
‫De la table du zoo où l'idée est égale à.
‫Et maintenant, nous allons utiliser quelque chose appelé zoo ID à Zoo ID, et celui-ci sera notre propre variable que nous
‫devons créer.
‫Nous devons donc créer un nouveau type de paramètre, comme nous l'avons vu avec les paramètres Escorial ici.
‫Il s'agit donc de paramètres de commande de travers avec la valeur.
‫Et je vais vous montrer l'autre façon de gérer ces affaires d'école.
‫Donc sans utiliser cet adaptateur.
‫À droite.
‫Nous allons donc simplement utiliser ce qui suit, car les nouvelles commandes Ezekial seront réelles.
‫Et ici, la commande de sauvetage a besoin de quelques informations.
‫Donc, tout d'abord, il doit interroger et il doit vous demander une connexion.
‫Donc rien de nouveau ici.
‫Nous l'avons déjà vu ici.
‫Posez votre requête de commande et demandez votre connexion.
‫Et maintenant nous pouvons aller de l'avant et démarrer cette connexion, demandez votre connexion ouverte.
‫Nous ouvrons donc une connexion pour vous inviter et maintenant nous ajoutons le paramètre à cette commande.
‫Ainsi, les paramètres commencent par une valeur.
‫Et ici, j'utilise ceci chez Zooid que j'avais ici en haut.
‫Il doit donc être exactement le même que celui que nous avons ici.
‫Et puis je dis simplement ce que je veux supprimer et je vais dire list zus dot selected value.
‫Mais la valeur sélectionnée n'est pas le nom de l'animal car c'est en fait l'ID et maintenant nous pouvons exécuter ce
‫code.
‫Les commandes donc obscures qui exécutent Skoller exécute la requête et renvoie la première colonne de la première ligne et l'ensemble
‫de résultats renvoyé par la requête.
‫Les colonnes de rôles supplémentaires sont ignorées.
‫Donc, ce dont nous avons besoin, c'est que c'est à peu près le moyen le plus simple d'exécuter cette commande Eskil,
‫qui va exécuter la requête sur notre connexion Ezekial.
‫Et cela n'aura tout simplement pas de frais généraux.
‫Ça va être une exécution super simple.
‫Très bien.
‫Et maintenant, bien sûr, nous devons également fermer la connexion.
‫Alors demandez la connexion qui se ferme, car comme vous pouvez le voir, nous devons ouvrir la connexion.
‫Nous devons ajouter les paramètres, exécuter le code, puis nous devons à nouveau fermer
‫la connexion, car sinon nous pourrions rencontrer des erreurs.
‫En ce moment, ce que je veux montrer, ce sont les zoos.
‫Et il y a une chose à considérer ici, parce que nous avons beaucoup de zoos, nous avons
‫beaucoup d'animaux, et nous avons même cette table de relations, qui combine les deux.
‫Donc les animaux qui sont dans un zoo spécifique.
‫Mais si je supprime un zoo, je souhaite également appliquer une suppression à toutes les différentes entrées d'animaux de zoo.
‫Alors.
‫Passons aux données pour que ce soit un peu plus évident, regardons la table zoo et la table zoo animal.
‫Alors disons que je suis le leader de New York, qui a l'idée d'un, ça ne sert à rien d'en garder un zooïde
‫ici.
‫Donc ce Zahidi et ce Eweida un et trois.
‫J'ai donc rencontré ces entrées qui ne sont plus nécessaires car il n'y a plus d'animal dans le zoo, car
‫le zoo n'existe plus.
‫Et c'est pourquoi nous pouvons simplement nous débarrasser de ces deux entrées.
‫Mais nous n'avons pas besoin de le faire manuellement en l'appliquant dans le code.
‫Nous pouvons également ajuster notre table de données et l'ajuster fera à peu près le travail pour nous.
‫Alors ouvrez la définition de la table, c'est ce que je vais ouvrir.
‫Et ce que je dois simplement ajouter ici à la fin, c'est sur Supprimer Kaskade.
‫À droite.
‫Et je l'ai fait pour les deux ici, donc pour les deux contraintes, pour notre clé étrangère animale et notre zoo pour Hinkie.
‫Donc, cela suffira, c'est simplement supprimer à peu près cette entrée qui est là si l'entrée correspondante n'est pas disponible ou plus
‫encore l'ID correspondant dans le zoo auquel nous sommes connectés.
‫Alors disons que si nous supprimons un zoo, eh bien, nous n'avons plus besoin de tous les animaux d'un zoo, pas
‫des animaux eux-mêmes, mais de cette corrélation ou de cette relation entre le zoo et les animaux.
‫Nous pouvons donc nous en débarrasser également.
‫C'est ce que sont ces deux entrées ici.
‫Celui-ci est restauré, Kaskade nous permet de le faire maintenant avant de pouvoir exécuter le code, nous devons mettre à jour juste pour
‫que vous voyiez que cela peut réellement provoquer des erreurs.
‫Je vais donc simplement exécuter le code.
‫Maintenant, je vais le démarrer et je vais essayer de supprimer quelque chose et vous verrez l'erreur qui s'applique ici.
‫Je vais donc supprimer Kyra.
‫Et il dit que la déclaration d'acte est en conflit avec les contraintes de référence f k le conflit s'est produit dans
‫la zone de table de base de données.
‫Donc colonne zooid, l'instruction a été terminée.
‫Donc on a cette erreur et bien, si on cherche une erreur, on trouve que c'est parce qu'on manque exactement de
‫ça.
‫Donc sur la cascade de plomb, et c'est parce que nous n'avons pas encore mis à jour.
‫Alors maintenant, mettons à jour la base de données avec le nouveau design ici avec nos nouvelles contraintes de table mises à jour.
‫Et une fois que cela est fait, que cela soit terminé et réussi, c'est super.
‫Nous pouvons recommencer et nous verrons cette suppression.
‫Carol travaille maintenant.
‫Maintenant, nous n'avons pas eu d'erreur, alors pourquoi Cairo est-il toujours là et cela a à voir avec le fait que nous n'avons pas lancé ou appelé la
‫méthode qui affiche cette liste ou met à jour cette liste.
‫Revenons donc à notre code et il est en fait ici.
‫Nous avons donc ce code et nous devons maintenant montrer que tous les animaux sont en fait tous les zoos comme ça montre les zoos.
‫Maintenant, cela a recommencé et vous verrez que le chiros était déjà parti.
‫Donc ce n'est plus là, comme vous pouvez le voir, est parti avec supprimé.
‫Cela mène maintenant à Berlin, POUM, et nous obtenons une erreur.
‫Mais il a disparu.
‫Donc, comme vous pouvez le voir, il y a eu une erreur parce que nous avons supprimé quelque chose et cette erreur a
‫été appliquée par notre émission ZUS ou Associated Animal, quelque part ici où nous avons appelé l'exception, nous avons eu cette exception catch et elle nous
‫a montré cette erreur.
‫D'accord, mais c'est un pas en avant.
‫Alors maintenant, ce que je vais faire, c'est mettre à jour ce code afin qu'il n'arrête pas bien notre programme si nous
‫rencontrons une erreur.
‫Je vais donc créer un essai, une capture et enfin un blocage.
‫Nous n'avons donc pas encore utilisé si souvent, mais cette fois, cela a vraiment du sens.
‫Alors quel est le code que je veux exécuter dans ma tribu ?
‫OK, eh bien, tout jusqu'à l'exécution pour que tout cela puisse mal tourner et ensuite.
‫Si nous voulons fermer la connexion ici et enfin, c'est la bonne façon, car si nous l'ouvrons ici, nous devons la fermer à
‫un moment donné et nous devrions la fermer.
‫Et enfin, parce que même si cela a fonctionné ou si cela n'a pas fonctionné, nous voulons simplement le fermer et
‫nous assurer que tout ira bien.
‫La même chose avec nous montre.
‫Donc, si cela a fonctionné ou si cela n'a pas fonctionné, cela n'a pas d'importance.
‫Nous appelons simplement la méthode show et cela montrera encore les couleurs qui sont dans notre table.
‫Et maintenant, au lieu de simplement lancer une erreur, je vais utiliser et accepter votre nom ici.
‫Je vais l'appeler E et je vais le montrer sur ma boîte de message.
‫Donc, la boîte de message s'affiche.
‫Et celui-ci sera e qu'à enfiler comme ça.
‫Très bien, maintenant, celui-ci, nous pouvons l'appeler X peut-être.
‫C'est peut-être mieux parce que le problème ici est que notre événement enraciné s'appelle déjà EESA, nous devrions
‫appeler celui-ci Yak.
‫OK, maintenant recommençons et voyons si nous pouvons supprimer des composants de notre liste.
‫Et nous n'avons pas beaucoup de gauche à droite.
‫Supprimons donc Tokyo, récupérons ceci et char pour animal dans une jointure s'attend à ce que la zone Paramatta n'ait pas
‫été fournie.
‫Et c'est en fait une erreur qui ne nous aide pas du tout.
‫Je vais donc me débarrasser de cette boîte de message ici parce que, eh bien, nous obtenons une erreur ici, mais je vais simplement l'ignorer pour l'instant
‫parce que c'est juste qu'elle fonctionne toujours, n'est-ce pas ?
‫Notre programme fonctionne toujours et fait ce qu'il devrait.
‫C'est donc juste ici que ce code est toujours exécuté, afficher les animaux associés.
‫Et dans ce cas, nous n'avons rien là-dedans.
‫À droite.
‫Nous n'avons donc pas sélectionné quelque chose qui devrait montrer les animaux associés.
‫Je vais juste me débarrasser de cette exception ici.
‫Et d'ailleurs.
‫Oui, tout le reste devrait aller.
‫D'accord, alors, ouais, c'est à peu près tout.
‫Maintenant, vous savez comment supprimer des composants de votre application.
‫Et dans la prochaine vidéo, nous allons ajouter des choses à notre liste.
‫Alors rendez-vous là-bas.