Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Borrar registros en una tabla (https://www.clubdelphi.com/foros/showthread.php?t=44356)

CFPA86 04-06-2007 21:17:46

Borrar registros en una tabla
 
Hola, amigos foristas, En mi programa uso una tabla a la cual le borrare todos los registros, se que con Empty los borro pero lo uso y me saca problema, si alguien me puede dar una mano se lo agradeceria.
Chauuuuuuuuuuuu

CFPA86 04-06-2007 21:44:23

Amigos foristas que pena con ustedes pero navegando en el club me encontre con varias respuestas a mi inquietud, las ensayare.

marcoszorrilla 04-06-2007 22:09:29

Para ejecutar la instrucción Empty sobre una tabla tienes que tener uso exclusivo.

Código Delphi [-]
  Try
  DmTerm.LinCabHistor.Close;
  //Poner el Autoincremento a 0
   SetAutoInc('C:\xxxx\Tmp\TempLinHistor.db',0);
  DmTerm.LinCabHistor.Exclusive:=True;
  DmTerm.LinCabHistor.Active:=True;
  DmTerm.LinCabHistor.EmptyTable;
  Except
  nError:=nError +1;
  ShowMessage('Se ha producido un error en vaciado del fichero Lineas histórico temporal.');
  end;

Un Saludo.

CFPA86 04-06-2007 23:57:30

Ayuda secuencia de EmptyTable
 
Hola foristas, nuevamente yo con mi problema de vaciar toda un tabla, lo estoy haciendo por el metodo de EmptyTable y no me funciona.Ensayo con este codigo
MiTabla.Close
MiTabla.Exclusive := False
MiTabla.EmptyTable "ERROR Table is busy"
MiTabla.Exclusive := True;
MiTabla.Open

este otro codigo

MiTabla.Close
MiTabla.Exclusive := True;
MiTabla.Open "ERROR Table is busy"
MiTabla.EmptyTable

En ambos ensayos cambio varias veces el True y el False de Exclusive y presenta el mismo error, le agradezco si alguien me da una mano
Chauuuuuuuu

Caral 05-06-2007 00:33:00

Hola
Pruebalo, talvez sirva.
Código Delphi [-]
  MiTabla.Active := True;
   While not MiTabla.Eof do
   begin
      MiTabla.Delete;
      MiTabla.Next;
   end;
   MiTabla.Active := False;
Saludos

Wonni 05-06-2007 01:59:01

hola;

Te da busy al tener Delphi abierto. Si ejecutas el programa fuera de Delphi no te dará error.

ContraVeneno 05-06-2007 02:08:44

Este error puede generarse cuando tienes la propiedad "Active" establecida a verdadero desde el inspector de objetos (es decir, tiempo de diseño).

Prueba utilizando el método "Open" de tu dataset en lugar de establecer la propiedad Active a True en Delphi.

CFPA86 05-06-2007 02:34:42

Gracias por las respuestas, para Caral, funciona tu codigo pero imaginate una tabla con muchos registros, para contraveneno esto ya lo intente y me sale el error antes dicho. aun sigo sin solucionarlo, otra manito por favor.

ariefez 05-06-2007 03:16:28

No bastaria con ejecutar esta Sentencia SQL
Código SQL [-]
DELETE FROM NOMBRE_DE_LA_TABLA

roman 05-06-2007 08:51:50

CFPA86,

Como notarás, he pegado el otro hilo que habías abierto, junto con sus respuestas, a éste. Por favor no abras nuevos hilos para continuar un tema.

// Saludos


La franja horaria es GMT +2. Ahora son las 18:02:10.

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