Fórum VarIsClear e VarIsNull #327709

18/08/2006

0

Existe algum comando que eu troque por exemplo:

If(DeltaDs.State=ukInsert) And (Not VarIsNull(DeltaDS.FieldByName(´CAMPO´).NewValue)) Then Begin


Digo pq no OnUpdateRecord do Provider o codigo fica imensa, qdo estou em insert sempre tenho o NEWVALUE, mas em edição se o campo n foi alterado vem NULL.
Tenho q fazer isso em muitos campos e o codigo escrito fica horrivel, quero saber se tem como em ver se um NEWVALUE é null ou clear.

Obrigado


Orpolonio

Orpolonio

Responder

Posts

18/08/2006

Night_man

voce pode fazer uma funcao que receba o nome do field e o dataset e ela retorne se eh null

eu fiz uma classe q gerencia esse DeltaDS, faz todas as criticas de campo nulo e tal,

mas a funcao eh mais rapida de fazer...

function EhNulo(const ADataSet: TDataSet; const AFieldName: String): Boolean;
begin
Result := 
  VarIsNull(ADataSet.FieldByName(AFieldName).NewValue
end;


mas a ideia da classe ainda eh a melhor
dai na tua chamada seria

if (updatekind = ukinsert) then
begin
if (not EhNulo(DeltaDS, ´CODIGO´)) then
//coisa1
if (not EhNulo(DeltaDS, ´DESCRICAO´)) then
//coisa2
end;


mais eu ainda voto pela classe


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar