IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Exception EIBErrorInterbase : même message Interbase pour différents cas!


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 59
    Points : 37
    Points
    37
    Par défaut Exception EIBErrorInterbase : même message Interbase pour différents cas!
    Je travaille sur delphi 2006/Firebird et j'utilise des masques de saisie avec des Edit/IBSQL pour faire mes mises à jour.

    Pour interdir les champs vides dans mes tables, j'intercepte le code message [E.SQLCode] numéro 625. Le problème c'est que ce message me dit seulement qu'un des Edit de mon masque de saisie n'a pas été renseigné mais ne me dit pas lequel? Du coup le message sera : Un des champs de saisie n'est pas renseigné! au lieu de : renseignez le champs INTITULE! (INTITULE est un exemple).

    Y a-t-il une solution ou dois-je décortiquer le [E.message] pour ça??

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Le problème c'est que ce message me dit seulement qu'un des Edit de mon masque de saisie n'a pas été renseigné
    Erreur d'interprétation...
    Ce message signale qu'une contrainte "NOT NULL" n'est pas satisfaite.

    Quant à permettre de faire le lien entre tes TEdits et les colonnes de la tables, je ne vois pas de solution facile... (Access peut-être ).
    Hum il faudrait commencer par affecter aux TEdits le même nom que les colonnes de la table, puis rechercher dans le message d'erreur la colonne mentionnée puis remonter au TEdit par un FindComponent...

    Personnellement, avant de lancer l'insertion, je valide tous les champs: présence, validité/cohérence, etc...
    Les contrôles de surface sont préférables à des allers/retours inutiles jusqu'au SGBD, d'autant que le protocole Interbase est "bavard".

    Pour vérifier la simple présence de données dans les champs, une boucle avec FindComponent peut suffire.
    On peut aussi mettre disabled le bouton d'action tant qu'un champs de saisie est vide.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

Discussions similaires

  1. [PHP 5.0] Utiliser le même formulaire .html pour différentes données
    Par proximacent dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2011, 12h17
  2. Même App web pour différents clients/bases de données
    Par kimausoleil dans le forum Persistance des données
    Réponses: 2
    Dernier message: 16/01/2011, 10h22
  3. [Wamp] Le même message m'est affiché pour des scripts différents
    Par salmoucha dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 18
    Dernier message: 05/03/2008, 16h38
  4. Réponses: 6
    Dernier message: 24/05/2007, 13h40
  5. Réponses: 4
    Dernier message: 07/03/2006, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo