Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Borrar todos los datos de una tabla (https://www.clubdelphi.com/foros/showthread.php?t=32487)

dariana20 07-06-2006 14:42:22

Borrar todos los datos de una tabla
 
Hola
Yo tengo un dbgrid conectado a una tabla de una Db de sql server.Necesito saber cual es la instruccion que se usa para borrar todos los campos de una tabla.He probado Clearfields,deleterecords pero no me funciona.Si alquien me puede ayudar.
Gracias de antemeno Dariana:)

Sudamericano 07-06-2006 15:29:50

Como borrarr el contenido completo de una tabla va depender desde donde y como quieres hacerlo si es desde delphi ó mediante un stored procedure
te muestro un ejemplo en ambos casos


Código:

Código Delphi [-] 
if table.Open then
 table.First;
 
 while not table.Eof do
  begin
  Table.delete;
  Table:next;
  end;


Código SQL [-]
CREATE PROCEDURE SP_DELETE_BANCOS_V100
BEGIN
DELETE FROM BANCOS
when sqlcode -530 do
exception except_not_delete_banco;
END

dariana20 07-06-2006 15:37:55

no me funciona
 
es desde Delphi lo hice como en tu ejemplo algo asi:
begin
if modulo.Atemporal.Open then
modulo.Atemporal.First;
while not modulo.Atemporal.Eof do
begin
modulo.Atemporal.delete;
modulo.Atemporal:next;
end;
Pero me da este error despues del then
[Error] Unit2.pas(69): Type of expression must be BOOLEAN
que puede ser

Neftali [Germán.Estévez] 07-06-2006 15:45:00

Recorrer la tabla completa para borrar todos los registros utilizando un bucle es bastante ineficiente; Si la tabla tiene muchos registros vas a estar un rato borrando.

Utiliza un Query con la sentencia de borrado que te han indicado.

Código SQL [-]
  select from Tabla

dariana20 07-06-2006 16:16:35

tiene que ser con un adoquery
 
Ya tengo el adoquery conectado con la tabla correspondiente
SQL:
Select * from Temporalproductos;
...Pero no se como darle la instruccion de borrar todos.
Es asi o como?

RaulChemical 07-06-2006 16:29:31

lanza la siguiente instruccion:


Código SQL [-]
Delete From LATABLA

Sudamericano 07-06-2006 16:32:57

prueba de esta manera

if table.Active=True then
table.First;
while not table.Eof do
begin
Table.delete;
Table:next;
end;

segunda opcion en un AdoQuery en la propiedad sql pon lo siguiente


Código Delphi [-]
delete from tabla

claro esta que tienes que usar un adoquery exclusivamente para efectuar eta operacion

Neftali [Germán.Estévez] 07-06-2006 17:05:32

Cita:

Empezado por dariana20
...Pero no se como darle la instruccion de borrar todos.

Perdón, ya que al escribir está claro que puse un SELECT en lugar de un DELETE.
La sentecia correcta es la que ya te han dicho:

Código SQL [-]
  DELETE FROM TABLA

dariana20 07-06-2006 17:09:04

Gracias a todos
 
Gracias a todos ya dio resultado:)
Que sencillo era jaja lo que es no saber
Pero los seguire molestando porque esto a veces se me complica.:eek:
Gracias


La franja horaria es GMT +2. Ahora son las 09:32:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi