Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19.8
dataStore.startTransaction( )

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( ).

Exemplo  

 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 também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: ORDA - DataStore

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v18

 
ARTICLE USAGE

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)