Fórum Gatilho de auto incremento #48109
17/11/2004
0
CREATE TABLE ´MANEJO´
(
´MAN_CODINT´INTEGER NOT NULL,
´MAN_PROCUL´INTEGER NOT NULL,
´MAN_TIPMAN´VARCHAR(120) CHARACTER SET WIN1252,
´MAN_SALVO´CHAR(1) CHARACTER SET WIN1252,
PRIMARY KEY (´MAN_CODINT´)
);
SET TERM ^ ;
/* Triggers only will work for SQL triggers */
CREATE TRIGGER ´TR_MANEJO´ FOR ´MANEJO´
ACTIVE BEFORE INSERT POSITION 0
as
Begin
New.MAN_CODINT=Gen_id(MANEJO,1);
end
^
COMMIT WORK ^
SET TERM ;^
CREATE GENERATOR ´MANEJO´;
o que eu posso fazer?
Rs_ferreira
Curtir tópico
+ 0Posts
17/11/2004
Gandalf.nho
Gostei + 0
17/11/2004
Rs_ferreira
Gostei + 0
17/11/2004
Gandalf.nho
Gostei + 0
17/11/2004
Afarias
A mensagem de erro q vc recebe é do Delphi (não tem nada a ver com o IB) e diz respeito o fato do seu TFIELD estar com REQUIRED=TRUE
Mude o valor dessa propriedade ou jogue qualquer valor nesse campo (-1 po exemplo) antes dar o POST
T+
Gostei + 0
17/11/2004
Rs_ferreira
Gostei + 0
17/11/2004
Afarias
Neste caso a única solução é digitar algo no campo requerido (-1) -- só pra não receber este erro.
T+
Gostei + 0
17/11/2004
Rs_ferreira
Gostei + 0
17/11/2004
Afarias
No evento OnNewRecord do seu DataSet coloque::
DataSet.FieldByName(´codint´).AsInteger := 0; {ou -1}
|Sendo que eu uso um datasouse e um ibtable?
Em programação C/S :: NUNCA USE TABLE
;)
Tanto faz o DataSet q vc usa (IBTable, IBQuery, IBDataSet) -- funciona igual. Mas dê preferência a usar IBDataSet ou IBQuery.
Qualquer coisa, veja o tópico::
http://delphiforum.icft.com.br/forum/viewtopic.php?t=30575
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)