Inicio > Visual Fox Pro > Las transacciones y el almacenamiento en búfer VFP

Las transacciones y el almacenamiento en búfer VFP


  En VFP, para el tiempo que transcurre entre BEGIN y END TRANSACTION la cabecera de la tabla está bloqueado, lo que significa que nadie más puede insertar.

Este es un gran problema de escalabilidad, ya que se tiende a aumentar geométricamente con el número de usuarios concurrentes

Como ejemplo de lo anterior, se debería trabajar de esta manera :

– El usuario introduce datos en el formulario
– Usuario presiona el botón Guardar
– BEGIN TRANSACTION
– Basado en los datos introducidos por el usuario, el sistema de procesos de cambios en varias tablas
– Realizar TABLEUPDATE () s
– Si cualquier TABLEUPDATE () falla, ROLLBACK
– Si todos los TABLEUPDATE () s con éxito, END TRANSACTION

He aquí un ejemplo del uso de las transacciones en las tablas con Buffer

BEGIN TRANSACTION
lActualizo = TABLEUPDATE(.T.,.T.,’Tabla1′) .AND. ;
        TABLEUPDATE(.T.,.T.,’Tabla2′)
IF lActualizo THEN
  MESSAGEBOX(‘Transacción realizada.’, 0)
  END TRANSACTION
ELSE
  ROLLBACK
  MESSAGEBOX
( ‘Uno o más de las tablas no fueron actualizadas. Cancelación de la transacción.’, 0)
  TABLEREVERT(.T.,’Tabla1′)
  TABLEREVERT(.T.,’Tabla2′)
ENDIF

Categorías:Visual Fox Pro
  1. Felix Bastidas
    30 julio 2010 a las 1:09 pm

    Pero que codigo va antes del Begin Transaction ?

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: