Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
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( ).
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
dataStore.cancelTransaction( )
dataStore.validateTransaction( )
START TRANSACTION
Producto: 4D
Tema: ORDA - DataStore
Creado por: 4D v18
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)