| | hinayana | Posté le 25/09/2006 @ 15:36 | Petit astucien
81 Messages
| Bonjour les ami(e)s.
je suis novice dans la programmation et je souhaite avoir votre aide sur ce quiq suit:
j'ai une table paradox nommé DESKJET avec un champ CODE (clé primaire de la table)et une fiche DESKJET permettant d'envoyer les données dans cette table. dans cette fiche j'ai un controle DBEDIT1 lié au champ CODE. voici mon probleme:
comment verifier que le nouveau CODE de l'enregistrement en cours existe dans ma table DESKJET avant que la produre Post prenne effet. sinon une exception est déclanché.
de plus j'ai du mal à comprendre les exception.
aidez moi.
A+
| | |
| |
| Publicité |
|
| | koala01 | Posté le 28/09/2006 à 03:52 | Astucien
4715 Messages
| Salut,
Je ne connais pas forcément paradoxe, donc, je peux etre tout à fait à coté de la plaque…
Je vais cependant essayer de me rattacher à ce que je connais [clindoeil]
Le problème de voir si un identifiant existe est le plus simple à tester: effectue simplement une requete pour savoir s'il trouve un enregistrement avec cet identifiant [clindoeil]
En SQL, cela prendrait une forme ressemblant à
[code]SELECT count(*) from TaTable where id=numero_id[/code]
(ou TaTable serait la table dans laquelle cherche et numero_id l'identifiant que tu cherche
count permettrait de savoir combien d'enregistrements ont été trouvés avec cet identifiant (typiquement 0(inexistant) ou 1 [clindoeil])
Concernant les exceptions…
*Généralement* les langages de programmations permettent de dire "je veux que tu essaie ceci"
"si ca échoue, il faut faire ceci (peut etre rien)"
"et de toute manière, apres il faut faire ceci(peut etre rien)"
En C++, cela prends la forme de
[code]
try
{
// ce qu'il faut essayer
}
catch(...)
{
//toutes les exceptions sont recues ici
}
//la suite du programme
[/code]
La synthaxe dépend à vrai dire fortement du langage utilisé [clindoeil]
L'idée est cependant toujours la meme…
C'est d'essayer de faire quelque chose, en gardant en tete que cela peut ne pas fonctionner.
Le plus chouette, c'est évidemment quand tout fonctionne (on ne sort pas de l'exécution normale [clindoeil])
Par contre, si "quelque chose ne va pas comme voulu", il y a peut etre quelque chose à faire pour y remédier…
Les solutions sont diveres et variées (afficher un message d'erreur à l'utilisateur pour qu'il corrige quelque chose (peut etre simplement ajouter "+1" à un identifiant [clindoeil], ou, dans les cas les plus graves, décider de quitter purement et simplement l'application (avec tout ce qu'il y a entre les deux [clindoeil]) )
Le principe est exactement le meme que quand tu décides d'aller acheter un ravier de fraises et qu'il n'y en a plus au magasin…
Tu peux décider de prendre plutot des cerises ou des prunes, mais tu peux aussi décider d'aller dans un autre magasin, ou, simplement, de rentrer chez toi… et de te passer de fraises [clindoeil]
La grosse différence, c'est que ce sera à toi (ou au programmeur) de:
1- décider comment l'appliction réagira en cas d'exception
2- de lui donner "l'intelligence" nécessaire à gérer les exceptions [clindoeil]
Or dans ce cas bien précis, tu comprendras surement que seule la vue d'ensemble de l'application peut permettre de déterminer la moins mauvaise (à défaut d'etre la meilleure [clindoeil]) solution à mettre en oeuvre [clindoeil]
Modifié par koala01 le 28/09/2006 03:53 | | | | | hinayana | Posté le 30/09/2006 à 14:35 | Petit astucien
81 Messages
| Bonjour les amis,
Merci koala01, je n'y avait pas pensé, alors je vais essayer et je te tiens au courant.
a+[bigsmile]
| | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|