Trigger não foi disparada no append da qry
Gente usado os componentes da palheta do INTERBASE
fiz a seguinte rotina para gravar uma cidade
IbQrycidade.Append;
IbQrycidade.Fieldyname(´Cidade´).AsString:=Edt_Cidade.Text
IbQrycidade.ApplyUpdates;
Quando dou o applyupdates diz que o campo codcid não pode ficar nulo. Porque a trigger abaixo não foi disparada no momento do append;
a trigger tem o seguinte codigo
CREATE TRIGGER TRI_CIDADE FOR BEFORE INSERT POSITION 0 AS
BEGIN
NEW.CODCID = GEN_ID(GEN_CIDADE,0);
END
Obrigado desde já
fiz a seguinte rotina para gravar uma cidade
IbQrycidade.Append;
IbQrycidade.Fieldyname(´Cidade´).AsString:=Edt_Cidade.Text
IbQrycidade.ApplyUpdates;
Quando dou o applyupdates diz que o campo codcid não pode ficar nulo. Porque a trigger abaixo não foi disparada no momento do append;
a trigger tem o seguinte codigo
CREATE TRIGGER TRI_CIDADE FOR BEFORE INSERT POSITION 0 AS
BEGIN
NEW.CODCID = GEN_ID(GEN_CIDADE,0);
END
Obrigado desde já
Dr. Interbase
Curtidas 0
Respostas
Afarias
22/02/2005
Coloque o campo como REQUIRED = FALSE
mas, como já disse em outro tópico, até q vc entenda claramente a distinção entre processos que ocorrem no cliente e os q ocorrem no servidor, vc NÃO deveria usar GENERATORs em TRIGGERs mas sim ´chamá-los´ no código do cliente (usando a propriedade generator field do IBX é uma forma muito fácil)
como já disse, leia outras mensagens neste fórum sobre o assunto, vc aprenderá bastante.
T+
mas, como já disse em outro tópico, até q vc entenda claramente a distinção entre processos que ocorrem no cliente e os q ocorrem no servidor, vc NÃO deveria usar GENERATORs em TRIGGERs mas sim ´chamá-los´ no código do cliente (usando a propriedade generator field do IBX é uma forma muito fácil)
como já disse, leia outras mensagens neste fórum sobre o assunto, vc aprenderá bastante.
T+
GOSTEI 0