Skip to content

Tag-icone-mini.png Programação, Genexus

Referenciado por: Dicas Técnicas | Padrões de Programação em Genexus |

Este artigo serve para dar maiores informações para quem precisa eleger o melhor método de alterar um registro no banco de dados em Genexus.

Comparativo ​

TécnicaData Provider e Bussiness ComponentFor Each e Bussiness ComponentFor Each
Sintaxe
&lista = Data Provider()
For &item in &lista
    BC.Load(&item.<chave>)
    BC.<campo> = <valor>
    BC.Save()
Endfor
For Each
    BC.Load(&item.<chave>)
    BC.<campo> = <valor>
    BC.Save()
Endfor
 
For Each
    <campo> = <valor>
Endfor
 
 
 
Comandos de bancoselect de vários registros
select 1 registro para update
update
select de vários registros
select 1 registro para update
update
select de vários registros
update
Respeita regras da transaçãoSimSimNão
Comparações- Performático
+ Estruturado
+ Seguro
- Performático
- Estruturado
+ Seguro
+ Performático
- Estruturado
- Seguro

Transações de Banco Utilizando Várias Procedures ​

Para que uma procedure faça alteração de banco dentro de uma transação, é necessário definir a propriedade Commit on Exit da procedure.

Por padrão, o Genexus faz Commit ao final de cada procedure. Para uma procedure apenas execute uma atualização, e não controle a transação do banco, é necessário que ela seja Commit on Exit=False.