wllf 2 Denunciar post Postado Fevereiro 8, 2012 Pessoal bom dia, estou com uma dúvida sobre como trabalhar com transações no Delphi 2010 x DBExpress 4 x Firebird 2.5, estou desenvolvendo um sistema para loja de Auto Peças de veiculo estou quase terminando só tem problema, na tela de PDV, estou trabalhando com os dados em memória tanto da tabela de Vendas com a Tabela de Item_Venda depois q o usuário finaliza a venda com forma de pagamento e tudo mais aí sim eu gravo no banco de dados até ai normal sem problemas, funciona muito bem. Só q por caso fui finalizar uma venda e tinha em erro(não vem ao caso o erro) nos dados da tabela Item_Venda, ele gravou a venda mas os itens não, a questão é preciso abrir uma transação durante o processo de venda e no caso de surgir qualquer erro durante o processo de gravação ele não grave nada no BD. Acredito que seja a questão de Transações no DBEXpress, será alguém pode me ajudar .. Compartilhar este post Link para o post Compartilhar em outros sites
wllf 2 Denunciar post Postado Fevereiro 9, 2012 Pessoal só para constar resolvi o problema, lembrando que existe uma diferença para trabalhar com transações usando entre DBEXPRESS 3 e o DBEXPRESS 4, com a versão 4 q está disponível no Delphi 2010 ficou até mais fácil de utilizar, vou postar os comandos básicos: trans :TDBXTransaction; trans := SQLConnection.BeginTransation(); //Esse método é sobrecarregado e pode ser passado um parâmetro de isolamento try //COMANDOS SQL(INSERT, UPDATE, DELETE) SQLConnection.CommitFreeAndNil(Trans); //caso ocorra tudo bem except SQLConnection.RollbackFreeAndNil(Trans);//caso ocorra algum erro end Compartilhar este post Link para o post Compartilhar em outros sites