Registros deletados
Como faço para visualizar os registros deletados de uma tabela FB
Abs
Abs
Felipeiw
Curtidas 0
Respostas
Afarias
01/11/2005
|Como faço para visualizar os registros deletados de uma tabela FB
não faz. se foram excluídos já não estão mais lá (disponíveis).
T+
não faz. se foram excluídos já não estão mais lá (disponíveis).
T+
GOSTEI 0
Firekiller
01/11/2005
Você poderia usar a técnica do velho clipper... criar um campo (na estrutura dos dbf´s era deleted), e quando esse campo tiver com um valor diferente de vazio (ou de um valor que você estipular), você considera-o como excluído.
GOSTEI 0
Luizneto
01/11/2005
Como faço para não eliminar o registro pelo navigator, apenas marcar o registro com um campo com um flag de ELIMINADO. Tentei usar BeforeDelete, mas não funcionou.
GOSTEI 0
Firekiller
01/11/2005
Tente aí... no Before Delete:
Tabela.Edit;
Tabela.FieldByName(´Deletado´).AsString := ´S´;
Tabela.Post;
Transacao.CommitRetaining;
Abort;
Não sei se funciona... teste e diga se funcionou.
Tabela.Edit;
Tabela.FieldByName(´Deletado´).AsString := ´S´;
Tabela.Post;
Transacao.CommitRetaining;
Abort;
Não sei se funciona... teste e diga se funcionou.
GOSTEI 0
Adrinei
01/11/2005
afarias, não porderia ser usado row_count nesta situação?
GOSTEI 0
Afarias
01/11/2005
|afarias, não porderia ser usado row_count nesta situação?
row_count ?? e o q seria isso (nesta situação) ??
T+
row_count ?? e o q seria isso (nesta situação) ??
T+
GOSTEI 0
Adrinei
01/11/2005
Row_count
´É possível saber quantas linhas foram afetadas pela execução de um comando de DML checando a variável ROW_COUNT logo após a execução do comando. Essa variável pode ser checada dentro de triggers e stored procedures. Ex.:
update produtos set estoque=estoque+:qtde where codprod=:meuproduto;
if (row_count=0) then exception exc_notfound ´Não foi possível atualizar o estoque para o produto´ || :meuproduto;´
Cantu. Firebird Essencial. p.25-26.
Após um delete não poderíamos usar essa variável?
´É possível saber quantas linhas foram afetadas pela execução de um comando de DML checando a variável ROW_COUNT logo após a execução do comando. Essa variável pode ser checada dentro de triggers e stored procedures. Ex.:
update produtos set estoque=estoque+:qtde where codprod=:meuproduto;
if (row_count=0) then exception exc_notfound ´Não foi possível atualizar o estoque para o produto´ || :meuproduto;´
Cantu. Firebird Essencial. p.25-26.
Após um delete não poderíamos usar essa variável?
GOSTEI 0
Afarias
01/11/2005
|Após um delete não poderíamos usar essa variável?
sim mas... ele não quer saber QUANTOS registros um comando DELETE afetou. Ele quer poder ter acesso a registros q foram deletados (ver ou até dar um un-delete sei lá) -- pelo menos é isso q eu entendi da questão.
(ah, e é bom especificar q row_count só está disponível a partir do fb 1.5)
T+
sim mas... ele não quer saber QUANTOS registros um comando DELETE afetou. Ele quer poder ter acesso a registros q foram deletados (ver ou até dar um un-delete sei lá) -- pelo menos é isso q eu entendi da questão.
(ah, e é bom especificar q row_count só está disponível a partir do fb 1.5)
T+
GOSTEI 0
Adrinei
01/11/2005
Lembra do dBase III Plus? Tinha delete (que marcava com um asterisco) e o pack para apagar os deletados... acho que o clipper trabalhava assim tb!
GOSTEI 0
Afarias
01/11/2005
|Tinha delete (que marcava com um asterisco) e o pack para apagar os
|deletados... acho que o clipper trabalhava assim tb!
sim, mas o IB não.
(na verdade, até faz algo assim... mas nào tem como via um SQL por exemplo vc ter acesso aos registros marcados como excluido)
T+
|deletados... acho que o clipper trabalhava assim tb!
sim, mas o IB não.
(na verdade, até faz algo assim... mas nào tem como via um SQL por exemplo vc ter acesso aos registros marcados como excluido)
T+
GOSTEI 0