Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-09-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
table is busy

Buenas, cuando intento vaciar una tabla paradox mediante emptytable en algunas ocasiones me produce un error al estar la tabla ocupada

Código Delphi [-]
begin
    privfotos.Close;
    privfotos.EmptyTable;
    privfotos.Open;
  end;

alguna idea ? como podria asegurar que la tabla esta libre o forzar su liberacion ?
Responder Con Cita
  #2  
Antiguo 08-09-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Código Delphi [-]
begin
privfotos.Close;
privfotos.Exclussive:=True;
    try
    privfotos.Open;
    privfotos.EmptyTable;   
    except
    Showmessage('La tabla está bloqueada por otro puesto.');
   end;
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 08-09-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
no es lo que necesito, ya se tratar la excepcion, xo, lo que io kiero esk una vez se produzca, desblokear la tabla, lo k manualmente seria borrar los lck's
Responder Con Cita
  #4  
Antiguo 08-09-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues eso no se puede si una tabla está en uso, otro usuario no podra obtener la apertura en modo exclusivo que es lo que se necesita para hacer un EmptyTable, no se trata solamente de controlar la excepción sino a través de ella ver que la tabla está bloqueada y por lo tanto cancelar la acción mostrando un mensaje personalizado.

A poco que lo analices, verás que no tiene sentido lo que pretendes, como un usuario va a poder vaciar una tabla que esta siendo utilizada por otro o que se halla abierta en modo compartido.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 08-09-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
el problema no es que quiera utilizar una tabla que esta siendo utilizada, es una tabla que a sido utilizada, y que al ser mal cerrada se queda bloqueada, realmente no ai ningun usuario utilizandola ni ningun programa accede a ella, xo sigue bloqueada.
Responder Con Cita
  #6  
Antiguo 08-09-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Me da la impresión que estás haciendo prácticas desde el propio IDE de Delphi y lo que te ocurre es que el IDE es un usuario más.

Si compilas el programa y cierras la tabla correctamente luego verás como puedes abrirla de nuevo en modo exclusivo y hacer lo que pretendes.

Otra cosa es que se produzca un fallo y se quede el controlador de esa tabla en memoría esto sería sistema operativo y no quedaría más remedio que apagar el ordenador y volverlo a encender.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 08-09-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
eso ia lo sabia io, lo que queria saber es si podia hacer otra cosa que no fuera reiniciar cada vez que el programa que estoy diseñando produjera un error, que es lo que me toca hacer ahora.
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


La franja horaria es GMT +2. Ahora son las 04:21:03.


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