[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 594: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 650: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
Fórum Xmaker • BEGIN TRANSACTION
Página 1 de 1

BEGIN TRANSACTION

Enviado: Fevereiro 1st, 2011, 4:47 pm
por ricardobhte
Tenho uma aplicação onde tenho que atualizar duas tabelas por exemplo:
Em vendas quando faço uma venda atualizo uma estatistica de venda por clientes,Cidade, vendedor e etc.
Se der algum erro de atualização na gravação da venda queria dar um rollback para voltar a transação.

Exemplo do codigo:
Connection.StartTransaction
try
tabelaA.insert;
.
.
tabelaA.salva;
tabelaB.insert;
.
.
tabelaB.salva;
Connection.Commit;
Except
Connection.Rollback;

na versão 6.0 tem algo previsto para essa situação?

Re: BEGIN TRANSACTION

Enviado: Fevereiro 3rd, 2011, 11:05 am
por Gustavo
Olá,

O Xmaker possui tratamento a erros, porém no seu caso onde provalvelmente está definindo a atualização em processos, o mesmo não fará de forma "nativa". Uma Opção é inserir a instrução Sql no botão "salvar" do formulario e comentar a chamada do "salvar" do Xmaker. Desta forma você poderá inserir os seus códigos personalizados.
Existem outras formas e lugares para inserção deste código, esta é apenas uma delas.

Na próxima release do Xmaker, estaremos preparando algo semelhante onde os processamentos e lançamentos poderão ser executados de forma nativa pelo banco, assim, independente se houver alguma falha no lado "client", o lado "server" é quem estará executando os processos e se algo der errado o mesmo fará automaticamente o Rollback, garantindo ainda mais confiabilidade e agilidade nas aplicações.

Re: BEGIN TRANSACTION

Enviado: Fevereiro 3rd, 2011, 11:33 am
por ricardobhte
Como devo fazer a conexao ao banco com o comando Connection.StartTransaction
já que a conexão com o banco é efetuada na entrada do aplicativo, será que voce poderia dar uma luz ou um passo a passo para meu problema.

At,
Ricardo