import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class AffectedRows { public static void main(String[] args) { try { Class.forName("org.postgresql.Driver"); Connection con = DriverManager.getConnection( "jdbc:postgresql:test", "postgres", "postgres"); Statement statement = con.createStatement(); // Zuerst einmal ein einfaches Update int count = statement.executeUpdate( "UPDATE employees SET salary=salary+1000"); System.out.println( "Successfully updated " + count + " employees"); System.out.println( "getUpdateCount() == " + statement.getUpdateCount()); // Dann per addBatch eine Reihe von Updates statement.addBatch( "UPDATE employees SET salary=salary-1000"); statement.addBatch( "UPDATE employees SET salary=salary+500 " + "WHERE firstname='Rangar'"); statement.addBatch( "UPDATE employees SET salary=salary+200 " + "WHERE firstname!='Rangar'"); // Hier gibt es dann einen Array von int zurück int[] counts = statement.executeBatch(); for (int i = 0; i < counts.length; i++) { System.out.println( "Command no. " + i + " in batch affected " + counts[i] + " rows"); } // getUpdateCount ist dann etwas irreführend System.out.println( "getUpdateCount() == " + statement.getUpdateCount()); } catch (Exception e) { e.printStackTrace(); } } }