Delphi - Borrar en Cascada

 
Vista:

Borrar en Cascada

Publicado por Diego (2 intervenciones) el 16/05/2001 22:53:46
Como puedo hacer para que cuando borre un campo de una tabla, que es referenciado por otra tabla se borren todos los que le hacen referencia? Usease, un borrado en cascada.
Se que en algunas BD se puede realizar a través del Gestor de Base de Datos pero en Paradox (las tablas que uso) se permite la modificación en cascada pero no el borrado.

Muchas Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Borrar en Cascada

Publicado por Carlos (1 intervención) el 27/05/2001 05:51:38
Mirá Diego, yo tenía el mismo problema, utilizando Paradox 7.0 y Delphi 4, y lo pude solucionar haciendo así:

1º, realizas el borrado como lo harías normalmente
table1.delete;
table1.next;
2º, te vas a la misma tabla1, y en los eventos buscas el que dice -Before delete, y ahi realizas un bucle para todas las tablas que tengas relacionadas:
por Ej. yo tenia la tabla pacientes, relacionada con tabla turnos y otras más pero tenes que hacerlo mismo a c/una de ellas.
TTurnos.Open;
TTurnos.First;
While Not TTUrnos.Eof Do
TTurnos.Delete;
TTurnos.Close;

otratabla.open;
otratabla.first;
Suerte, y que te sirva.. Carlos.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar