Trigger

Delphi

07/08/2009

Bom dia

Cada vez que vou inserir um registro quero que coloque no dbedit a data de cadastro entao para isso fiz uma trigger conforme abaixo:


CREATE TRIGGER TI_CLI_FOR_BI0 FOR CLI_FOR
ACTIVE BEFORE INSERT POSITION 0
AS
begin
new.datcad_clifor=CURRENT_DATE;
end

Mas nao aparece nada no componente DBEDIT e quando vou salvar aparece a mensagem dizendo que tenho que preencher a data de cadastro.. O que devo fazer ?

Estou usando o Firebird 2.0 + Delphi 7.0 + conexao dbx

Fico no aguardo

Rogério


Rogeranalista

Rogeranalista

Curtidas 0

Respostas

Osocram

Osocram

07/08/2009

Amigo.
Esta data esta na mesma tabela q esta inserindo os dados?
Se for pq vc não inicializa ele pelo delphi?

========
Sobre o seu erro provavelmente o campo de data esta como obrigatorio por isso da o erro.


GOSTEI 0
Rogeranalista

Rogeranalista

07/08/2009

Sim, o campo é da tabela onde estou inserindo os dados..
Penso eu que é melhor fazer uma trigger do que colocar no Delphi


GOSTEI 0
Osocram

Osocram

07/08/2009

Pensa bem... Vc ja esta no delphi e esta inserindo o registro... o custo que vc vai ter p setar a data ae no cliente. Pois vc ja esta no cliente
Agora vc vai passar p o banco antes de gravar processar a data antes e depois gravar.

Minha opnião pessoal (um pouco redundante, ehehhe) acho mto melhor inicializar tudo que puder no delphi.

Sim, o campo é da tabela onde estou inserindo os dados.. Penso eu que é melhor fazer uma trigger do que colocar no Delphi



GOSTEI 0
Rogeranalista

Rogeranalista

07/08/2009

Bom vou dar uma analisada no caso

Mas obrigado pela atenção..

Um abraço


GOSTEI 0
Elip2008

Elip2008

07/08/2009

trigger executa a nível de servidor
o usuário não terá conexao com essa trigger. jah q vc tah inserindo ela automaticamente no banco. tenta mudar a propriedade dela
required para false na propriedade na sua tabela. pois no banco deve jah está com essa opção requerido.

//Mas d kualker forma ela não irá aparecer no delphi. Agora c vc kiser aparecer no delphi. soh colocar um edit.
e no onshow do form colocar assim:
Edit1.Text := DateToStr(Date); // vai parecer no edit.

então o usuario final naum vai ter o medo d q não está aparecendo o
valor.


GOSTEI 0
POSTAR