Olá pessoal, tenho algo mais ou menos assim:
try
{
c.setAutoCommit( false );
PreparedStatement pstmt = c.prepareStatement( COMANDO SQL UPDATE );
// aqui faço a inserção de todos os dados no PreparedStatement
// geração dos updates
c.commit();
}
catch( SQLException e )
{
c.rollback();
}
Serão preparados por volta de 100 updates com o PreparedStatement, mas se 1 falhar quero que seja executado o Rollback. Agora a pergunta, tem como eu saber qual update que falhou? Por ex., saber que o update 58 que gerou a exceção.
Tem como eu saber isso?
Agradeço desde já.
[]'s
catch( SQLException e )
{ System.err.println("Falhou o UPDATE X");
c.rollback();
}
Entretanto, se der um SQLException vc consegue fazer um rollback ainda ?
Bom, na verdade estava errado, agora, se não der exceção na primeira parte ele tenta o commit, senão rolar da rollback, acho que assim rola né?
Valeu.
[]'s
try
{
c.setAutoCommit( false );
PreparedStatement pstmt = c.prepareStatement( COMANDO SQL UPDATE );
// aqui faço a inserção de todos os dados no PreparedStatement
// geração dos updates
}
catch( SQLException e )
{
// Erro na linha X
}
Se não deu exceção acima, executa o seguinte trecho:
try
{
c.commit();
}
catch( SQLException e )
{
c.rollback();
}
Porém, se der uma exceção na última parte, tem como eu saber qual query que gerou a exceção?
[]'s