Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Commit da transação
Após uma transação bem-sucedida, o Se não ocorrer nenhum erro durante o ciclo de transação, o bloco commit da transação (commit transaction
) salva confirma todas as ações realizadas desde o início da transação no banco de dados selecionado permanentemente.
Deve-se previamente utilizar o bloco iniciar transação para utilizar o bloco commit da transação.
Nota | ||
---|---|---|
| ||
O bloco commit da transação somente funciona com blocos do tipo banco de dados. |
Compatibilidade
Image Removed Servidor
Exemplo
A função abaixo inicia a transação sobre a entidade música, no qual vai inserir dados nessa entidade e caso não haja nenhum problema no decorrer, ela será salva permanentemente no banco de dados e finaliza a transação.
Image Removed
Figura 1 - Configurando commit da transação
Sobre o bloco
Ao clicar no ícone da engrenagem (seta da Figura 1), será aberto a janela de configuração (Figura 2), onde é possível selecionar a entidade que será usada na transação.
Image Removed
Figura 2 - Janela de configuração do bloco
- "...": abre a janela para selecionar a entidade (Figura 3);
- Recarrega a lista de entidades exibida na janela (Figura 3).
Image Removed
Figura 3 - Janela de seleção da entidade
.
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. Antes de utilizar o bloco Commit da transação é necessário iniciar o ciclo de transação com o bloco Iniciar Transação.
Image Added
Figura 1 - Bloco Commit da Transação
Nota |
---|
O bloco Commit da 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. A fim de evitar problemas futuros na aplicação do usuário, é estritamente necessário 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.commitTransaction()
Retorno
O bloco não possui retorno.
Parâmetros
O bloco não possui parâmetros.
Características do bloco
O bloco Commit da 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.
Image Added
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 confirmar e efetivar as mudanças realizadas durante a transação no banco de dados, para isso, utilizamos o bloco Commit da 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.
Image Added
Figura 2.1 - Função que inicia uma transação de inserção no banco de dados e a confirma no final
Execute o projeto e preencha os dados necessários.
Image Added
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.
Image Added
Figura 2.3 - Resultado após a inserção e salvamento das informações no banco de dados
Nesta página
Índice
Sobre transação em banco de dados
Transação é uma operação (ou um conjunto de operações) executada na sua totalidade - ou seja, se houver alguma falha dentro de alguma das operações, tudo será desfeito; se não, tudo será persistido no banco de dados.
Para saber mais sobre transação, acesse esse link:
Transação (banco de dados)