Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 32 Próxima »

Define o início de um ciclo de transação (begin transaction) com um banco de dados associado a um determinado namespace.

Este bloco utiliza a interface Java TransactionManager, ela define os métodos que permitem que um servidor de aplicações gerencie limites de transações.


Figura 1 - Bloco Iniciar Transação


O bloco Iniciar Transação funciona somente com blocos do tipo banco de dados. O Cronapp já possui um serviço de controle de transação em seus blocos de banco de dados, ao utilizar o bloco Iniciar Transação, uma segunda camada de controle de transação é criada.

A fim de evitar problemas futuros na aplicação do usuário, é importante entender o escopo do projeto e saber quando utilizar os blocos de transação, evitando, por exemplo, fechar um ciclo de transação fora do escopo do bloco de programação. 

Compatibilidade

  • Bloco servidor: cronapi.database.Operations.beginTransaction()

Retorno

O bloco não possui retorno.

Parâmetros

O bloco não possui parâmetros.

Características do bloco

O bloco Iniciar Transação é vinculado ao namespace da aplicação. Por padrão o Cronapp possui o namespace "app", o qual será utilizado neste exemplo. Para configurá-lo, clique no ícone de engrenagem (seta da figura 2), em seguida, será aberta a janela com uma caixa de seleção solicitando a escolha do namespace (destaque 1 da figura 2).


Figura 2 - Seleção do namespace

Exemplo

Inicialmente criamos uma entidade denominada "carro" no diagrama de dados, em seguida, criamos uma view, na qual inserimos dois componentes: entrada de texto e um botão, que será responsável por ativar a função Para que o exemplo abaixo funcione, é necessário vincular um formulário de referência ao bloco. Acesse o tópico Propriedades do Blockly da documentação Bloco de programação para mais detalhes.

A função abaixo inicia uma transação com o objetivo de inserir dados na entidade "carro", os dados são obtidos através do bloco Obter valor do campo, que receberá os inputs do componente entrada de texto, em seguida, é necessário commitar a transação. Caso a operação não ocorra de forma correta, o erro será impresso no console do depurador e a operação será desfeita através do bloco Rollback da Transação. O bloco try catch foi utilizado para garantir o fluxo de execução.


Figura 2.1 - Função que inicia uma transação de inserção no banco de dados


Execute o projeto e preencha os dados necessários.


Figura 2.2 - Inserindo dados do carro


O resultado pode ser conferido abaixo. Como não ocorreu nenhum erro durante a transação, os dados foram inseridos de forma correta no banco.


Figura 2.3 - Resultado após a inserção dos dados


Nesta página

  • Sem rótulos