Clairton,
Voce podia utilizar o conceito de
transa��o.
A id�ia seria algo maisno menos
assim:
class ClassA
{
public void
InclusaoClasseA( Connection con )
throws
Exception
{ //
Aplica a tua atualiza��o em usando a conex�o passada (con)
}
}
}
class ClassB
{
public void
InclusaoClasseB( Connection con )
throws Exception
{
//
Aplica a tua atualiza��o em usando a conex�o passada (con)
}
}
}
Na classe (X) que faz a opera��o desejada
(Y), de incluss�o nas duas tabelas.:
class X
{
void Y()
{
Connection
con = getConnection() // Pega de algum forma uma conex�o
ClasseA
classA = new ClasseA();
...
ClasseB
classB = new ClasseB();
...
try
{
classeA.InclusaoClasseA(
con );
classeB.InclusaoClasseB(
con );
// Se chegar aqui, � por
que tah tudo ok
con.commit(); //
Efetiva a transa��o
}
catch(
Exceptio e )
{
// Se chegar aqui � por
que alguma das 2 opora��es teve problemas
con.rollback(); // Joga
fora as opera��es realizadas.
throw e; // Propaga adiante, se for o caso, a exce��o que aconteceu
// aqui,
de modo que a aplica��o saiba que n�o foi realizada
// com sucesso.
}
}
}
Francisco Pinto Ara�jo J�nior
Diretor de Tecnologia - Softexport Inform�tica
Msc. Ci�ncia da Computa��o
SCPJ2
Fone/Fax: +55 85 458 1947
[EMAIL PROTECTED]
www.softexport.com.br
Diretor de Tecnologia - Softexport Inform�tica
Msc. Ci�ncia da Computa��o
SCPJ2
Fone/Fax: +55 85 458 1947
[EMAIL PROTECTED]
www.softexport.com.br
----- Original Message -----
From: "Clairton" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 04, 2002 8:17
AM
Subject: [cejug-discussao] Re: [cejug] Fw:
D�vidas
> Caros senhores da lista:
>
> Tenho uma classe chamada de ClasseA, que tem o um metodo publico de
> inclus�o chamado InclusaoClasseA, e inseri na tabela TabelaClasseA.
> Tenho outra classe chamada de ClasseB, que tem o um metodo publico de
> inclus�o chamado InclusaoClasseB, e inseri na tabela TabelaClasseB.
> Ent�o a d�vida:
> Como fa�o para encapsular os dois metodos para aproveitar a mesma conex�o de
> banco de dados ? Ou seja : Se eu inserir na tabela TabelaClasseA e em
> seguida tentar inserir TabelaClasseB e na classe ClasseB der um erro no
> m�todo InclusaoClasseB, desfazer a minha inclus�o na InclusaoClasseA.
>
> Agradece
>
> [EMAIL PROTECTED]
>
