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 :

[BCB5][FB 1.5]IBDataSet et champ Auto-incrémenté


Sujet :

Connexion aux bases de données Firebird

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 109
    Points
    109
    Par défaut [BCB5][FB 1.5]IBDataSet et champ Auto-incrémenté
    Bonjour,

    Lorsque l'une de mes tables contient un champ auto-incrementé (AUTO_ID) et que j'effectue le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IBDataSet->Append();
    IBDataSet->FieldByName("CHAINE")->AsString  = "CHAINE_1";
    IBDataSet->FieldByName("VALEUR")->AsInteger = 1500;
    IBDataSet->Post();
    je me retrouve avec le message d'erreur: La valeur du champ AUTO_ID n'est pas renseigné.
    Or le champ AUTO_ID est relié a un Trigger qui doit effectué l'affectation du champ tout seul.
    Pour que cela fonctionne je dois automatiquement renseigné le champ AUTO_ID avec une valeur (peu importe cette valeur).

    Est ce normal ??

    Merci.
    Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore"

  2. #2
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Si la propriété required du TField associé à AUTO_ID est à true, le test de nullité est effectué en amont de l'exécution du trigger.
    Passer required à false pour ce champ.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    Ok cela marche impecable, je vous remercie.
    Cependant il me reste une question, pour effectuer cette opération on doit oblitgatoirement ajouter les champs ??
    Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore"

  4. #4
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    A mon idée, pas forcément ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBDataset->FieldByName("AUTO_ID")->Required = false;
    devrait le faire aussi bien.
    (pardon si la syntaxe est approximative, je code en Delphi)

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    OK merci beaucoup et bonne journée.
    Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore"

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

Discussions similaires

  1. [Derby] [Débutant] champ auto-incrémenté possible ?
    Par Cassios dans le forum Autres SGBD
    Réponses: 5
    Dernier message: 24/06/2011, 15h43
  2. Connaître la valeur d'un champ auto incrémenté
    Par soltani1 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/05/2006, 14h55
  3. [EJB2.1 Entity] [Débutant] Champs auto-incrémenté (identity)et EJB
    Par Houbbba dans le forum Java EE
    Réponses: 9
    Dernier message: 04/04/2006, 19h15
  4. champ auto incrémenté
    Par Kerod dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/09/2005, 17h29
  5. [JDO]Hibernate : Mapping d'un champ auto-incrémenté
    Par brice.antoine dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/04/2004, 10h36

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