Re: [firebase-br] 2 Cadastros e uma Transação

RedDevil reddevil em reddevil.eti.br
Sex Jul 1 00:37:23 -03 2005


ola,

eu acho que a soluçao para esse caso ae seria colocar mais um componente
TIB_Transaction na parada (como voce nao mencionou se esta trabalhando com
IBOTable ou TIB_Query, eu vou escrever como se voce estivesse usando
TIB_Queries, okeyz? o principio da coisa sera o mesmo... ou, pelo menos,
semelhante...;o).

por exemplo, voce tera uma TIB_Query chamada qryFuncionarios e outra chamada
qryBairros, entao voce pega um componente TIB_Transaction, o qual chamaremos
de trFuncionarios, e informa ele na propriedade IB_Transaction da
qryFuncionarios, e o outro componente TIB_Transaction, o qual chamaremos de
trBairros, voce informa na propriedade IB_Transaction da qryBairros...

dessa forma, quando voce concluir o cadastro do bairro, voce faz algo tipow
assim:
qryBairros.Post;
trBairros.Commit;

e continua trabalhando mormalmente na inclusao do funcionario, sendo que ao
final dessa inclusao, voce faz assim:
qryFuncionarios.Post;
trFuncionarios.Commit;

acredito que o caminho seja por ae...

Post Scriptum: para fazer isso, voce devera deixar a propriedade
CommitAction das TIB_Queries (pelo menos da qryBairros) como
"caInvalidateCursor", pois se voce deixar no default, que eh "caClose",
quando voce commitar (eu acho que o termo "commitar" existe, nao? caso nao
exista, eu peço que seja acrescentado ao dicionario da lista, junto ao termo
"paulear" e ao "microsux", okeyz?...;o) a inclusao do bairro, a TIB_Query
sera fechada... mas se a CommitAction estiver como "caInvalidateCursor", com
o commit a inclusao sera efetivada, a transaçao finalizada e a TIB_Query
permanecera aberta, de modo que voce podera informar o bairro que foi
incluido no cadastro do funcionario sem muita alugaçao, tipow ficar
reabrindo Query, localizando o bairro, etc e talz... e como voce esta
trabalhando com o IBObjects, o melhor e mais completo componente de acesso
ao Firebird/Interbase, voce nao precisara especificar o inicio dessas
transaçoes, tipow deixe que o proprio IBObjects faz isso para voce... voce
tera necessidade de apenas encerrar elas, com o "commit"...


[]s
força sempre.
ate +++

--
Luiz "RedDevil" Stefanski
http://www.RedDevil.eti.br - Delphi Powered by IBObjects
exemplos e dicas sobre o IBObjects:
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
compilaçao/instalaçao do IBObjects sabor BPG:
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630



----- Original Message -----
From: <fpcpimenta em oi.com.br>
To: <lista em firebase.com.br>
Sent: Thursday, June 30, 2005 11:38 AM
Subject: [firebase-br] 2 Cadastros e uma Transação


Olá amigos da lista....

Estou usando IBO em meus projetos e estou tendo algumas dificuldades,
principalmente quando uso dois cadastros usando uma mesma transação.

Não vou me demorar muito... o problema é o seguinte.

Tenho 2 cadastros (funcionario e bairro)

No cadastro de funcionario eu chamo o cadastro de bairro. O problema
ocorre quando eu clico em inserir no cadastro de funcionario e chamo o
cadastro de bairro. Quando gravo no cadastro de bairro o IBO também
tenta gravar no cadastro de funcionario.


Como resolvo isso ????

Caso alguém queria me ajudar e tiver alguma duvida sobre o problema,
fiz um demo com o meu problemam é só me passar o email que eu mando o
demo.


Obrigado !!!!!









Mais detalhes sobre a lista de discussão lista