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

Connexion aux bases de données Firebird Discussion :

[Zeos] FB et trigger


Sujet :

Connexion aux bases de données Firebird

  1. #1
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut [Zeos] FB et trigger
    Bonjour,

    J'ai crée une table dans une DB FB avec un trigger Before Insert pour son ID (qui est généré par un générateur). Jusque là tout baigne.
    Le pbm est qu'au post dans ma fiche delphi (à l'ajout d'un record), je reçois le message : Le champs ID doit avoir une valeur !

    Je pensais que le trigger se chargeait de ce travail !

    Une idée ???
    Merci.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 901
    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 901
    Points : 6 026
    Points
    6 026
    Par défaut
    C'est le cas !!!!

    En fait, tout dépend de ta façon de travailler.

    Avec des composant "data aware", la table est décrite, et il faut mentionner NULL pour le champ auto-incrémenté.

    Avec un Query:
    soit tu codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into MaTable values(....)
    et on retombe dans le cas ci-dessus, puisque tu ne décris pas explicitement les colonnes.
    soit tu codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into MaTable col1,col2, col3 values(....)
    en ayant soin de ne pas mentionner la colonne auto-incrémentée, ni par son nom (genre col0) ni par sa valeur dans les values; et dans ce cas, ça doit marcher tout seul.
    "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

  3. #3
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Merci gi130,

    C'est vraii que j'ai omis des détails ! Sorry !

    Au fait j'utilise un composant table de Zeos avec FB 2.0. Le problème est que mon champs ID se trouve être l'index de la table et donc not null.
    Et là je comprends que le champs en question doit être informé avant le post. C'est ce que je fais. Je l'initialise à zéro (integer) et le trigger le remet à sa juste valeur en cas d'un insert.

    Je pensais que les checks sur les champs se faisaient après le triggers-before.

    Est-ce la meilleure solution ???

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 901
    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 901
    Points : 6 026
    Points
    6 026
    Par défaut
    Je ne sais pas si c'est la meilleure solution, mais:
    1/ si elle marche, pourquoi en chercher une autre (le mieux est l'ennemi du bien!)
    2/ existe t-il une autre solution ?
    "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

  5. #5
    Membre actif
    Inscrit en
    Décembre 2004
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 390
    Points : 288
    Points
    288
    Par défaut
    Vous avez peut-être raison !

    Le problème est que je suis novice en FB et je ne voudrais commencer sur de bonnes bases.
    Si quelqu'un de plus expérimente a de meilleurs solutions à conseiller, pourquoi pas ??

    En tout cas je vous remercie.

  6. #6
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    peut être que zeos permet de préciser que ton champ est un champ autoincrémenté ?
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [power designer et Sybase] trigger
    Par mr_qno dans le forum Sybase
    Réponses: 4
    Dernier message: 12/07/2006, 18h32
  2. Trigger ??
    Par XDeus dans le forum Développement
    Réponses: 6
    Dernier message: 31/03/2003, 09h44
  3. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51
  4. Réponses: 5
    Dernier message: 09/12/2002, 22h23
  5. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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