< Anterior | Siguiente >

Cómo guardar los cambios

Confirmar cambios en la base de datos es un proceso compuesto por dos pasos en el que primero se valida el registro que ha cambiado o creado y, a continuación, se confirma el cambio.

Después de editar o crear un registro, guarde los cambios en la base de datos siguiendo los pasos que se indican a continuación:

  1. Valide los datos en el registro llamando al método Validate del objeto Entity. Este método devuelve cualquier error de validación para que lo pueda solucionar antes de intentar guardar los cambios.
  2. Llame al método Commit del objeto Entity. Este método escribe los cambios en la base de datos, finaliza la acción actual e incorpora el registro de modo que no se pueda editar.

El método Validate ejecuta los scripts de validación del esquema y devuelve un valor String que contiene todos los errores de validación. Si esta serie no está vacía, puede utilizar el método GetInvalidFieldValues para devolver una lista de campos que contiene datos que no son correctos. Una vez que haya arreglado los valores de dichos campos, debe volver a llamar a Validate. Si el método Validate devuelve un valor String vacío, significa que no existen más errores.

Después de validar el registro, y que la validación sea satisfactoria, debe confirmar los cambios en la base de datos llamando al método Commit del objeto Entity correspondiente.

Cómo revertir los cambios: si la validación de un registro da error, no puede confirmar los cambios en la base de datos. La solución más rápida consiste en revertir el registro a su estado original e informar del error. Para revertir un registro, llame al método Revert del objeto Entity.

Al revertir un conjunto de cambios, se devuelve el registro al estado que tenía antes de llamar al método EditEntity. Si revierte los cambios que ha llevado a cabo en un objeto Entity que ha creado el método BuildEntity, el registro no se crea y los datos se descartan. Los ID asociados con registros no se reciclan. Si se revierte un registro que el método BuildEntity ha convertido en editable, se descarta el registro, pero no su ID visible, de modo que futuros registros no pueden utilizar dicho ID.

Este es un ejemplo de los pasos necesarios para cambiar el estado de un registro:
  • Iniciar la acción mediante el método EditEntity($Entity, nombre-acción).
  • Modificar valores de campo y comprobar la validez a nivel de campo.
  • Validar el estado del registro (mediante el método Validate).
  • Confirmar los cambios si no hay errores (mediante el método Commit).
  • Para cancelar la acción, utilice el método Revert.

Ejemplo

# Modify the record and then commit the changes. 
$entityObj = $sessionobj->GetEntity("defect","BUGID00000042"); 
$sessionObj->EditEntity($entityobj,"modify"); 

# Modify the entity object 
# Your code should also check for exceptions 
$status = $entityObj->Validate(); 
if ($status == ""){
     $status = $entityObj->Commit();
     if ($status == ""){
         # successful commit
      } 
     else {
           # check error message
          } 

} else {
       $entityObj->Revert();
      } 
# The entity object is no longer editable.
< Anterior | Siguiente >

Comentarios