Excluindo arquivos.

23/05/2003

1

Tenho duas tabelas se relacionando ´pais e filhos´, antes de apagar a tabela ´pai´ tenho que apagar os registros da tabela ´filho´.
Estou fazendo do seguinte modo:
[color=red:bbf2718d2a] While (not Table.Eof) do
Table.Delete;[/color:bbf2718d2a]
Mas é excluído somente 1 registro como posso ersolver isso ?
Obrigado.


Responder

Posts

23/05/2003

Rubensavelino

vc nao avancou na tabela

Entao

[color=red:60f7a49dfe]Table.next;[/color:60f7a49dfe]


Responder

23/05/2003

Jeanfiamoncini

Putz é mesmo.
Muito Obrigado, valeu.


Responder

23/05/2003

Jeanfiamoncini

Ainda não funcionou, o que será ?
Ele só exclui 1 registro da tabela filho.
Como posso resolver isso ?
Agradeço a ajuda.


Responder

23/05/2003

Jairroberto

Olá, Jean!

O seu código original estava correto. Quando você usa o método Delete o registro seguinte é selecionado automaticamente no DataSet. Só com este pedaço do código não dá para indicar uma resposta definitiva. Seria necessário saber onde está esta parte do código; se existe algum código do evento BeforeDelete da ´Table´ (tabela filha); dentre outras possibilidades.

Uma possibilidade simples é que você pode estar no último registro da tabela filha, por isso só esse registro é apagado. Experimente usar:

TabelaFilha.First;
while not TabelaFilha.Eof do
  TabelaFilha.Delete;


Um abraço,
Jair
[/code]


Responder

23/05/2003

Jeanfiamoncini

Estou usando o código acima no evento BeforeDelete da tabela Mãe, na tabela filha não estou colocando nada.


Responder

23/05/2003

Urso

table1.first;
while not table1.eof do begin
table1.delete;
table1.first;
table1.next;
end;

vc deve dar o first logo apos o delete, pois quando vc deleta ele perde o ponteiro...assim vc deve reiniciar o teu while...


Responder

23/05/2003

Henry

meu brother, tente assim:
table1.first;
while not table1.eof do
begin
table1.delete;
table1.next;
end

Se nao funciona, me da um toque no icq, que a gente resolve, blz? \um abraço HEnry.


Responder

23/05/2003

Jeanfiamoncini

Muito obrigado a todos pelas dicas enviadas, vou tentar todas, assim que conseguir envio resposta, VALEU.


Responder

23/05/2003

Jeanfiamoncini

Já to no desespero.
Não funciona, ele só entra no while uma vez depois cai fora.


Responder

23/05/2003

Jeanfiamoncini

COLOQUEI NO AFTERDELETE DA TABELA FILHA O SEGUINTE:
TABLEFILHA.FIRST;

E VUALA FUNCIONOU.

VALEU PESSOAL, MUITO OBRIGADO


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira