-
Insert via Formulaire
Bonjour a tous,
je suis confonté à un probleme dont je ne trouve pas la solution, peut etre pourrez vous m'aider, je vous l'expose.
J'affiche dans une datagrid des membres.
De là, deux choses sont possibles:
- je permets le click sur un membre pour afficher ses informations,
- je propose le click sur un Button "Nouveau"
Rien d'extraordinaire, mais je suis confronté à un soucis avec mes requetes SQL d'insert et d'update car dans les infos sur mes membres, une données ne passe pas et déclenche une exception conflit foreign key.
En fait, mon membre a : un ID, une FONCTION (int), un NOM(varchar), une ASSISTANTE(int)
et c'est sur l'assistante que porte le problème. Comme vous le voyez, cette colonne est un int, c'est une foreign key sur la table MEMBRE qui reference l'ID d'un membre dont la FONCTION est ASSISTANTE
Si mon TextBox n'est pas rempli avec un int correct pour l'assistante, c'est l'exception, et je ne parviens pas à gérér cela.
Pourriez vous m'indiquer la marche à suivre et des pistes pour me sortir de se bourbier
d'avance merci
bonne journée
-
Mets une liste déroulante des assistantes au lieu d'un champ texte.
Vérifie que le champ ASSISTANTE en base est bien NULLABLE.
Met une valeur par défaut au champ ASSISTANTE .
Catch l'exception et fait apparaitre un message explicite à l'utilisateur en cas d'erreur.
Ajoute un trigger sur l'insertion d'une nouvelle ligne qui vérifie que l'assitante existe bien.
Vérifie l'existence de l'assistante applicativement avant d'enregistrer une nouvelle ligne...
Y a beaucoup de solution en fait. Tout dépend de tes contraintes métiers.
La technique est esclave du fonctionnel et pas l'inverse ;-D (c'est ce que me repete mon boss à longueur de temps)
-
Merci beaucoup pour tes réponses,
effectivement les solutions sont nombreuses:
-la liste déroulante, c'est une solution simple et rapide, j'affiche le nom et je
stocke la value
-->ca devrait fonctionner
- je catche deja l'exception et la fait apparaitre a l'utilisateur mais etonnement, ma colonne assistante pourtant bien nullable en base n'accpete pas de valeur null ...
- je vais laisser de côté le trigger, je ne maitrise pas avec MSSQL
Ce qui m'embete c'est vraiment que j'ai l'impression que, bien que NULLABLE, mais colonne n'accpete pas les valeurs nulles.
JE teste tout de même ces solutions