Java:BatchUpdateException.getUpdateCounts()

De W3API
Saltar a: navegación, buscar

Contenido

Descripción

Método que devuelve un array de enteros con la ejecución de un batch update. En el caso de que el registro se haya ejecutado devolverá un entero mayor de 0 y si ha fallado devolverá un entero menor que cero.

Sintaxis

public int[] getUpdateCounts()

Excepciones

  • No lanza

Clases Java a las que aplica

BatchUpdateException

Ejemplo

public class ErrorBatchUpdate {
  public static void main(String[] args) throws SQLException {

    Connection con = null;
    String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";

    try {
      con = DriverManager.getConnection(sURL,"root","");
      con.setAutoCommit(false);
	      
      PreparedStatement stmt = con.prepareStatement("CREATE TABLE temporal (numero TINYINT(1) NOT NULL)");  
      stmt.execute(); 
      stmt.close();
      
      stmt = con.prepareStatement("CREATE UNIQUE INDEX indicenumero ON temporal(numero)");  
      stmt.execute(); 
      stmt.close();	     

      int[] valores = {1,2,2,3,1,4,1,2};	      
	      
      try {       
        PreparedStatement carga = con.prepareStatement("INSERT INTO temporal VALUES (?)");	    	 
   	  
        for (int x=0;x<valores.length;x++) {
          carga.setInt(1, valores[x]);
          carga.addBatch();
        }
        carga.executeBatch();

      } catch (BatchUpdateException bue) {
        int[] errores = bue.getUpdateCounts();
        System.out.println("--Errores en el Batch--\n");
   	  
        for (int x=0;x<errores.length;x++) {
          if (errores[x] < 0) 
            System.out.print("Error insertando el valor " + valores[x] + " de la posición " + x + "\n");
        }		    	  	    	 	    	  
      }

      con.commit();
 
      stmt = con.prepareStatement("DROP TABLE temporal");  
      stmt.execute(); 
      stmt.close();
   
    } catch (SQLException sqle) { 
      System.out.println(sqle.getMessage());
      con.rollback();	      
    } finally {
      if (con!=null) con.close();    	      
    } 
   }
 }

Lineas de Código

Herramientas personales
Espacios de nombres
Variantes
Acciones
API
Navegación
webs
Herramientas