Fórum Como deletar todos registros com Table? #219951

11/03/2004

0

Olá!

Gostaria de saber como deletar todos os registros de uma tabela, de uma só vez, utilizando um Table.

Grato.
wbb


Wbb

Wbb

Responder

Posts

11/03/2004

Maicongabriel

com table[b:3aa3b0f506]::[/b:3aa3b0f506]
while not table.eof do
  table.delete;

com query[b:3aa3b0f506]::[/b:3aa3b0f506]
delete from table
:wink:


Responder

Gostei + 0

11/03/2004

Wbb

Obrigado maicongabriel, mas isso não apaga todos os itens de uma vez, mas sim um-a-um.

T+
wbb


Responder

Gostei + 0

11/03/2004

Maicongabriel

Claro! Porque não existe solução para TTable (provavelmente base paradox) que delete todos os registros de um vez!
É bem simples! Essa é a Unica forma :wink:


Responder

Gostei + 0

11/03/2004

Wbb

Com relação ao Table você tem razão mesmo. Na realidade eu escrevi errado. Não é um Table e sim um ADOTable.

Com esse tem jeito?

Grato.
wbb


Responder

Gostei + 0

11/03/2004

Maicongabriel

[i:11288c5c68]Tentou...[/i:11288c5c68]
ADOTable.DeleteRecords;
:?:


Responder

Gostei + 0

11/03/2004

Zumbi

amigo tente:

table1.deletetable;


Responder

Gostei + 0

11/03/2004

Maicongabriel

:shock: Ele quer deletar todos os [b:d434f19e02]registros[/b:d434f19e02], não a [b:d434f19e02]tabela[/b:d434f19e02] :!:


Responder

Gostei + 0

11/03/2004

Aroldo Zanela

Colega,

Para tabelas desktop como Paradox e dBase use o método EmptyTable. (BDE)


Responder

Gostei + 0

12/03/2004

Wbb

maicongabriel,

Já cheguei a tentar o que você sugeriu, porém com um parâmetro:
[b:d407828626]ADOTable1.DeleteRecords(arAll);[/b:d407828626]

Testei ADOTable1.DeleteRecords() também e ambos deram erro. Neste último caso o erro foi ´Operation is not allowed in this context´.

A única solução que consegui foi:
[b:d407828626]ADOTable1.Connection.Execute(´Delete * from TABELA´);[/b:d407828626]

Obrigado a todos.
wbb


Responder

Gostei + 0

12/03/2004

Aroldo Zanela

Colega,

Qual é o SGBDR? No caso do SQL Server da Microsoft você poderia fazer:

ADOTable1.Connection.Execute(´truncate table TABELA´); 


Cuidado: Não deixa nada no LOG.


Responder

Gostei + 0

12/03/2004

Wbb

Olá Aroldo!

Estou usando Access. A forma [b:e32e1fd995]ADOTable1.Connection.Execute(´Delete * from TABELA´)[/b:e32e1fd995] funcionou. Só não sei se é a melhor.

Obrigado.
wbb


Responder

Gostei + 0

12/03/2004

Aroldo Zanela

Colega,

Acho que o Access não possui TRUNCATE TABLE, mas você pode simplificar um pouco mais utilizando:

cnn.Execute(´Delete * from TABELA´);


Onde cnn é o nome do objeto de conexão.


Responder

Gostei + 0

12/03/2004

Wbb

Ok. Vou tentar.
Obrigado novamente.

wbb


Responder

Gostei + 0

12/03/2004

Marcelo

Tente o seguinte cara:
  tb.First;
  while not tb.Eof do
    tb.Delete;


Valeu?


Responder

Gostei + 0

12/03/2004

Maicongabriel

HuMmm! Essa resposta já foi dada neste mesmo topico [b:98b37043cf]Marcelo[/b:98b37043cf], olha ali acima! E não era o que o [b:98b37043cf]wbb[/b:98b37043cf] queria!... ah e alem disso, não preciza desse [b:98b37043cf]FIRST[/b:98b37043cf] ai :wink:


Responder

Gostei + 0

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

Aceitar