Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19.8
dataStore.startTransaction( )

dataStore.startTransaction( ) 


 

dataStore.startTransaction () 
Este comando no requiere parámetros

El método dataStore.startTransaction( ) inicia una transacción en el proceso actual en la base de datos que coincide con el datastore al que se aplica. Cualquier cambio realizado en las entidades del datastore en el proceso de la transacción se almacena temporalmente hasta que la transacción se valida o cancela.

Nota: si se llama a este método en el datastore principal (es decir, el datastore devuelto por el comando ds), la transacción se aplica a todas las operaciones realizadas en el datastore principal y en la base de datos subyacente, por lo tanto incluyendo ORDA y los lenguajes clásicos.

Puede anidar varias transacciones (subtransacciones). Cada transacción o subtransacción debe eventualmente cancelarse o validarse. Tenga en cuenta que si la transacción principal se cancela, todas sus transacciones secundarias también se cancelan incluso si se han validado individualmente utilizando el método dataStore.validateTransaction( ).

Ejemplo  

 C_OBJECT($connect;$ds;$person;$status)
 C_TEXT($choice)
 C_BOOLEAN($error)
 
 Case of
    :($choice="local")
       $ds:=ds
    :($choice="remote")
       $connect:=New object("hostname";"111.222.3.4:8044")
       $ds:=Open datastore($connect;"myRemoteDS")
 End case
 
 $ds.startTransaction()
 $person:=$ds.Persons.query("lastname=:1";"Peters").first()
 
 If($person#Null)
    $person.lastname:="Smith"
    $status:=$person.save()
 End if
 ...
 ...
 If($error)
    $ds.cancelTransaction()
 Else
    $ds.validateTransaction()
 End if



Ver también 

dataStore.cancelTransaction( )
dataStore.validateTransaction( )
START TRANSACTION

 
PROPIEDADES 

Producto: 4D
Tema: ORDA - DataStore

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v18

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)