Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Borrar fisicamente registro de una tabla
Message
De
25/09/2004 11:58:42
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivie
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00945984
Message ID:
00946001
Vues:
37
Debes comprender que un sistema de base de datos puede manejar, teóricamente, millones de registros. Ahora bien, para borrar físicamente un registro, se tendrían que recorrer todos los demás datos. Eso no es eficiente en un sistema grande, y no es factible en un entorno multiusuario.

Es por eso que en Visual FoxPro se usa la marca de borrado - para permitir un procesamiento rápido.

El borrado físico con PACK no se lo debe hacer directamente después del DELETE, sino en una rutina de mantenimiento, quizás una vez al mes. A lo mejor lo harás, no tanto para ahorrar espacio, sino para permitir un procesamiento más rápido (si el porcentaje de registros borrados es muy grande, a VFP le tarda más encontrar los registros válidos).

Si utilizas una sesión de datos privada en tu pantalla (como deberías), no olvides que SET DELETED es "scoped to the current datasession", es decir, cada formulario puede tener su propio valor para SET DELETED. Eso significa que tienes que poner SET DELETED ON en el evento Load() de cada formulario. (Esto lo puedes sistematizar con el uso de clases.)

HTH,

Hilmar.

>Saludos Srs.
>
>Tengo un ligero inconveniente de novato, espero que me puedan aclarar.
>Tengo el siguiente código:
>/* evento click de un command button
>
>Select(thisform.tabla)
> If (messagebox("¿Desea borrar el registro?",36,"Aviso"))=6
> thisform.grid1.SetFocus()
> delete record recno()
> endif
> delete
> if (!EOF())
> skip
> else
> go bottom
> thisform.refresh()
> thisform.pcestado() /*función que activa y desactiva un registro
> endif
>
>Lo que quiero es borrar fisicamente el o los registro que marco, cuando miro en la tabla están marcados como borrados pero siguen ahí mismo, ¿Que me está haciendo falta o que estoy haciendo mal?
>
>Estoy usando Visual Fox Pro 5, porque mi Cd de la version 7 no quiere instalarse en mi pc por alguna razón.
>
>Gracias por su atención.
>
>Jaime R.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform