PreparedStatement - Commit - Rollback

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