Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   vaciar una tabla (https://www.clubdelphi.com/foros/showthread.php?t=11594)

arc22 18-06-2004 10:53:04

vaciar una tabla
 
Hola, para vaciar una tabla he visto este código:

if MessageDlg ('Se va a borrar la tabla. ¿Continuar?', mtConfirmation, mbOKCancel, 0)=mrok then
begin
table1.Close;
table1.exclusive := True;
table1.EmptyTable;
table1.exclusive := False;
table1.Open;
end
else abort

pero me levante la excepción: "table is busy", ¿alguien me podría decir a que se debe esto :confused: ?. Desde ya muchas gracias.
Andrés

hogol 18-06-2004 11:13:35

Hola

Para poder vaciar la tabla debes poder acceder a ella en modo exclusivo, osea que solo tu proceso debe utilizar la tabla en ese momento.
El mensaje table is busy te está diciendo que la tabla está ya siendo utilizada y que no puede ponerse en modo exclusivo.
Puede que algún otro usuario u otro programa tenga abierta la tabla mientras tú estés tratando de vaciarla.

Saludos
Hogol

cbrrr 18-06-2004 14:38:37

puedes arreglarlo con una sentencia SQL de delete

Código SQL [-]
 delete from tabla

marcoszorrilla 18-06-2004 15:45:22

Si haces pruebas desde el "Ide" de Delphi no te funciona porque éste es un usuario más. Compila el programa, cierra Delphi y ejecuta el Exe resultante y verás como te funciona.

Un Saludo.

roman 18-06-2004 16:28:18

Cita:

Empezado por marcoszorrilla
Compila el programa, cierra Delphi y ejecuta el Exe resultante y verás como te funciona.

O bien desactiva la tabla en el IDE antes de ejecutarlo.

// Saludos


La franja horaria es GMT +2. Ahora son las 20:25:20.

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