|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() |
Je ne sais pas si c'est moi, mais avec interbase 6 et en fesant le code suivant je ne parvient pas à obtenir un numéro incrémentant sur ma clé:
CREATE TABLE EMPLOYES ( NUM_EMP INT NOT NULL, NOM_EMP CHAR (25), PRE_EMP CHAR(25), PRIMARY KEY (NUM_EMP) ); CREATE GENERATOR EMPLOYES_GenId; SET TERM !!; CREATE TRIGGER TRIG_EMPLOYES_GenId FOR EMPLOYES ACTIVE BEFORE INSERT AS BEGIN IF ( NEW.NUM_EMP IS NULL ) THEN NEW.NUM_EMP = GEN_ID(EMPLOYES_GenId,1); END !! SET TERM; !! Tous passe et ce crée, mais quand j'entre des données (sauf dans NUM_EMP ou je laisse le champ <NULL>), je n'arrive pas à passer au champ suivant tant que je n'entre pas moi même une donnée. D'avance merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : septembre 2002 Messages : 19 ![]() |
Je crois que tu utilise la grille de saisie d'IBConsole, non ?! c'est vrai que ça ne fonctionnera pas comme ça et je ne sais pas pourquoi.
Tu dois faire un Code :
INSERT INTO Employes(NOM_EMP,PRE_EMP) VALUES('X-Man','Test'); @ + PS: T'es pas obligé de créer un nouveau sujet pour ça, t'aurais pu continuer avec le précédent |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() |
Si je comprend bien dans l'IBConsole quand on vas dans les propriétés "d'employes" et que l'on inscrit directement dans les data y a pas moyen d'avoir un numéro auto-incrémentant?
Merci pour votre aide. |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : septembre 2002 Messages : 19 ![]() |
Ben j'en ai bien l'impression ... dailleurs c'est pas cool
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() |
si je veux utilisser le code
INSERT INTO EMPLOYES (NOM_EMP, PRE_EMP) VALUES ('.......','........'); COMMIT; Ou le mettre dans mon code quand j'utilise builder ou delphi disons que je fasse un fiche avec une TTable, TDataSource, TDBEdit et TDBNavigator uniquement pour voir et introduire des données dans ma base de données pour que quand je fasse le commit de la TDBNavigator il ne m'iscrive pas une erreur pacequ'il manque la valeur NUM_EMP. |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : septembre 2002 Messages : 19 ![]() |
Tu met ta requête dans la propriété SQL d'un de tes composants non ???
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() |
Je suis maintenant avec un num_emp auto-incrémentant avec l'instruction
Code :
INSERT INTO employes(nom_emp, pre_emp) VALUES ('x','y'); il ne passe que si je met un numero dans num_emp, il ne s'occupe pas que dans interbase j'ai fait un generateur et un trigger qui incrémente se num_emp. Comment puis-je y arriver en builder?? Merci pour votre aide |
|
|
00
|
|
|
#8 |
|
Inactif
Inscription : juillet 2002 Messages : 21 ![]() |
si tu as créer ton trigger et que tu ne veux pas de soucier de ton champ autoincrémenter
dans l'évènement AfterOpen de ton DataSet faut rajouter DataSet.FieldByName('NOchamp').Required := False; |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com