Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
dataStore.startTransaction( )
|
dataStore.startTransaction () | ||||||||
Este comando não requer parâmetros | ||||||||
O método dataStore.startTransaction( ) inicia uma transação no processo atual no banco de dados que coincide com a datastore a que se aplica. Qualquer mudança realizada nas entidades de datastore no processo da transação se armazena temporariamente até que a transação seja válida ou cancelada.
Nota: se chamar a este método na datastore principal (ou seja, a datastore devolvida pelo comando ds), a transação se aplica a todas as operações realizadas na datastore principal e no banco de dados subjacente, portanto incluindo ORDA e as linguagens clássicas.
Pode aninhar várias transações (subtransações). Cada transação ou subtransação deve eventualmente cancelar ou validar. Lembre que se a transação principal for cancelada, todas suas transações secundárias também são canceladas mesmo se tiverem sido validadas individualmente utilizando o 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
Produto: 4D
Tema: ORDA - DataStore
Criado por: 4D v18
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)