Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2006
dariana20 dariana20 is offline
Miembro
 
Registrado: may 2006
Posts: 15
Poder: 0
dariana20 Va por buen camino
Red face 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
Responder Con Cita
  #2  
Antiguo 07-06-2006
Sudamericano Sudamericano is offline
Miembro
 
Registrado: feb 2004
Posts: 41
Poder: 0
Sudamericano Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 07-06-2006
dariana20 dariana20 is offline
Miembro
 
Registrado: may 2006
Posts: 15
Poder: 0
dariana20 Va por buen camino
Unhappy 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
Responder Con Cita
  #4  
Antiguo 07-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 07-06-2006
dariana20 dariana20 is offline
Miembro
 
Registrado: may 2006
Posts: 15
Poder: 0
dariana20 Va por buen camino
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?
Responder Con Cita
  #6  
Antiguo 07-06-2006
RaulChemical RaulChemical is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 59
Poder: 21
RaulChemical Va por buen camino
lanza la siguiente instruccion:


Código SQL [-]
Delete From LATABLA
__________________
ash nazg durbatulûk
ash nazg gimbatul
ash nazg thrakatulûk
agh burzum-ishi krimpatul
Responder Con Cita
  #7  
Antiguo 07-06-2006
Sudamericano Sudamericano is offline
Miembro
 
Registrado: feb 2004
Posts: 41
Poder: 0
Sudamericano Va por buen camino
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
Responder Con Cita
  #8  
Antiguo 07-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 07-06-2006
dariana20 dariana20 is offline
Miembro
 
Registrado: may 2006
Posts: 15
Poder: 0
dariana20 Va por buen camino
Wink 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.
Gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Borrar todos los break points FunBit Varios 2 25-11-2005 13:07:25
Obtener TODOS los registros de una tabla Fita SQL 2 06-09-2005 03:06:24
borrar todos los registros de un tabla Giniromero Conexión con bases de datos 4 18-12-2003 11:47:20
Borrar registro en tabla maestra y todos los de la tabla detalles correspondientes jealousy Conexión con bases de datos 7 14-10-2003 12:46:23


La franja horaria es GMT +2. Ahora son las 08:29:45.


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