Validar quando o campo é nulo - URGENTE
Senhores !!!!
Criei uma uma trigger que dispara uma exceção assim
create trigger mensa_campo_vazio for fornecedor
active before insert position 0 as
begin
if (new.nom_for = ´´) then
exception mensa_campo_vazio ;
end
^
set term ; ^
A TRIGGER acima é para verificar se o campo nome do fornecedor é vazio
Acontece que no meu projeto quando for salvar sem preencher o campo do fornecedor ele não dá a mensagem da exceção... Ele aparece a mensagem do delphi dizendo que o campo não pode ser nulo, mas não tem jeito de aparecer a mensagem que eu coloquei na exceção.. Como poderia proceder ??
Rogério
Criei uma uma trigger que dispara uma exceção assim
create trigger mensa_campo_vazio for fornecedor
active before insert position 0 as
begin
if (new.nom_for = ´´) then
exception mensa_campo_vazio ;
end
^
set term ; ^
A TRIGGER acima é para verificar se o campo nome do fornecedor é vazio
Acontece que no meu projeto quando for salvar sem preencher o campo do fornecedor ele não dá a mensagem da exceção... Ele aparece a mensagem do delphi dizendo que o campo não pode ser nulo, mas não tem jeito de aparecer a mensagem que eu coloquei na exceção.. Como poderia proceder ??
Rogério
Roger_prog
Curtidas 0
Respostas
Afarias
10/07/2003
|A TRIGGER acima é para verificar se o campo nome do fornecedor
|é vazio
pq quando um campo ´string´ é ´vazio´ é passado para o Interbase como NULO e não ´´
NULO é diferente de ´´
seu código deveria ser:
if (new.nom_for IS NULL) then
...
|Acontece que no meu projeto quando for salvar sem preencher o campo
|do fornecedor ele não dá a mensagem da exceção...
Bom, além do q foi dito acima, acho q seria melhor se vc simplesmente criasse seu campo como NOT NULL. E mais ainda, utilizase a propriedade REQUIRED do TField para checar nulos no ´Cliente´.
|Ele aparece a mensagem do delphi dizendo que o campo não pode ser
|nulo, mas não tem jeito de aparecer a mensagem que eu coloquei na
|exceção.. Como poderia proceder ??
Provavelmente então seu campo já está como NOT NULL, então, bastaria vc tratar a exceção padrão gerada pelo Delphi (em um Try..Except ou no evento OnException do Application) e então jogar SUA mensagem.
Abraço
|é vazio
pq quando um campo ´string´ é ´vazio´ é passado para o Interbase como NULO e não ´´
NULO é diferente de ´´
seu código deveria ser:
if (new.nom_for IS NULL) then
...
|Acontece que no meu projeto quando for salvar sem preencher o campo
|do fornecedor ele não dá a mensagem da exceção...
Bom, além do q foi dito acima, acho q seria melhor se vc simplesmente criasse seu campo como NOT NULL. E mais ainda, utilizase a propriedade REQUIRED do TField para checar nulos no ´Cliente´.
|Ele aparece a mensagem do delphi dizendo que o campo não pode ser
|nulo, mas não tem jeito de aparecer a mensagem que eu coloquei na
|exceção.. Como poderia proceder ??
Provavelmente então seu campo já está como NOT NULL, então, bastaria vc tratar a exceção padrão gerada pelo Delphi (em um Try..Except ou no evento OnException do Application) e então jogar SUA mensagem.
Abraço
GOSTEI 0