DBDELETE( )

Marca un registro para borrar

Sintaxis

     DBDELETE() –> NIL

Devuelve

DBDELETE() devuelve siempre NIL.

Descripción

DBDELETE() marca el registro actual como borrado. Los registros marcados para borrarse pueden filtrarse utilizando SET DELETED o eliminarse del fichero al utilizar el mandato PACK.

DBDELETE() realiza la misma función que un mandato DELETE estándar con ámbito en el registro actual. Si desea más información, consulte el mandato DELETE.

 Notas

     ¦  Registros lógicos: Si se ha establecido SET DELETED ON,  los registros borrados no son visibles lógicamente. Esto significa que las operaciones de base de datos que actúen en registros lógicos no tienen en cuenta los registros marcados como borrados. Recuerde, sin embargo, que si se ha establecido SET DELETED OFF el registro marcado como borrado permanece visible hasta que deja de ser el registro actual.

     ¦  Entorno de red: En una base de datos compartida en una red, DBDELETE() requiere bloquear el registro actual. Si desea más información, consulte el capítulo Programación en Red de la guía Programación y Utilidades.

 Ejemplos

     ¦  En el ejemplo siguiente se borra un registro después de efectuar un bloqueo satisfactorio:

        cApellido := “López”

        DBUSEAREA(.T., “DBFNTX”, “Ventas”, “Ventas”, .T.)

        DBSETINDEX( “APELLIDO” )

        //

        IF ( Ventas->(DBSEEK(cApellido)) )

           IF Ventas->( RLOCK() )

              Ventas->( DBDELETE() )

              ? “Registro borrado: “, Ventas->( DELETED() )

           ELSE

              ? “No puede borrarse el registro…”

           ENDIF

        ELSE

           ? “No se encuentra”

        ENDIF

 Ficheros:  La biblioteca asociada es DPXBASE.CH.