Fórum Eliminar registro virtual #53793

07/11/2005

0

Como faço para gravar um campo com um flag de eliminado ao invés de apagá-lo fisicamente no banco usando o DBNavigator ou DBGrid (Firebird, DBExpress e ClientDataset) ? não serve tentar substituir o botão Eliminar do Navigator ou dizer para não devo usar DBGrid.


Luizneto

Luizneto

Responder

Posts

07/11/2005

Afarias

existem muitas formas de fazer isso...

quem usa IBX por exemplo, pode colocar na propriedade DeleteSQL (IBDataset ou IBUpdateSQL) o código:

update tabela set campo_flag = valor_excluido;

(no lugar do tradicional delete from ...)

quem usa ClientDataSet/DataSetProvider pode optar por usar o enento BeforeUpdateRecord do Provider para fazer a a operação de exlusão ´na mão´ (atualizando o campo)

entre outras formas possíveis...


T+


Responder

Gostei + 0

07/11/2005

Luizneto

Mas o DBnavigator nao vai eliminá-lo primeiro ? (Clientdataset/Provider)


Responder

Gostei + 0

07/11/2005

Afarias

|Mas o DBnavigator nao vai eliminá-lo primeiro ? (Clientdataset/Provider)

Vai eliminar da memória (buffrer do CDS) mas o comando SQL q será executado no banco de dados vc controla no BeforeUpdateRecord -- sendo assim vc pode executar um UPDATE no lugar de um DELETE


T+


Responder

Gostei + 0

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

Aceitar