Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Connexion aux bases de données
Connexion aux bases de données Forum d'entraide sur la connectivité Firebird: composants, drivers, transactions, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/07/2004, 14h47   #1
Membre du Club
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 66
Points : 66
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 :
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.
Sitting Bull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2004, 15h21   #2
Membre éclairé
 
Inscription : juin 2004
Messages : 308
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 308
Points : 316
Points : 316
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.
cmen76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2004, 15h30   #3
Membre du Club
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 66
Points : 66
Ok cela marche impecable, je vous remercie.
Cependant il me reste une question, pour effectuer cette opération on doit oblitgatoirement ajouter les champs ??
Sitting Bull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2004, 15h34   #4
Membre éclairé
 
Inscription : juin 2004
Messages : 308
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 308
Points : 316
Points : 316
A mon idée, pas forcément ;
Code :
IBDataset->FieldByName("AUTO_ID")->Required = false;
devrait le faire aussi bien.
(pardon si la syntaxe est approximative, je code en Delphi)
cmen76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2004, 15h37   #5
Membre du Club
 
Inscription : mai 2003
Messages : 140
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 140
Points : 66
Points : 66
OK merci beaucoup et bonne journée.
Sitting Bull est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h17.


 
 
 
 
Partenaires

Hébergement Web