| 
     
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.sql.Statement; 
 
public class Main { 
  public static void main(String[] args) throws Exception { 
    Connection conn = getConnection(); 
    conn.setAutoCommit(false); 
    Statement st = conn .createStatement(); 
     
     
    st.executeUpdate("create table survey (id int, name VARCHAR(30) );"); 
    st.addBatch("DELETE FROM survey"); 
 
    st.addBatch("INSERT INTO survey(id, name) "+ 
                  "VALUES(444, 'ginger')"); 
    // we intentionally pass a table name (animals_tableZZ) 
    // that does not exist 
    st.addBatch("INSERT INTO survey(id, name) "+ 
                  "VALUES(555, 'lola')"); 
    st.addBatch("INSERT INTO survey(id, name) "+ 
                  "VALUES(666, 'freddy')"); 
 
    // Execute the batch 
    int[] updateCounts = st.executeBatch(); 
     
    checkUpdateCounts(updateCounts); 
 
    // since there were no errors, commit 
    conn.commit(); 
     
    ResultSet rs = st.executeQuery("SELECT * FROM survey"); 
    outputResultSet(rs); 
 
     
    rs.close(); 
    st.close(); 
    conn.close(); 
  } 
  public static void checkUpdateCounts(int[] updateCounts) { 
    for (int i=0; i<updateCounts.length; i++) { 
        if (updateCounts[i] >= 0) { 
            System.out.println("OK; updateCount="+updateCounts[i]); 
        } 
        else if (updateCounts[i] == Statement.SUCCESS_NO_INFO) { 
            System.out.println("OK; updateCount=Statement.SUCCESS_NO_INFO"); 
        } 
        else if (updateCounts[i] == Statement.EXECUTE_FAILED) { 
            System.out.println("Failure; updateCount=Statement.EXECUTE_FAILED"); 
        } 
    } 
}   
   
  private static void outputResultSet(ResultSet rs) throws Exception { 
    ResultSetMetaData rsMetaData = rs.getMetaData(); 
    int numberOfColumns = rsMetaData.getColumnCount(); 
    for (int i = 1; i < numberOfColumns + 1; i++) { 
      String columnName = rsMetaData.getColumnName(i); 
      System.out.print(columnName + "   "); 
 
    } 
    System.out.println(); 
    System.out.println("----------------------"); 
 
    while (rs.next()) { 
      for (int i = 1; i < numberOfColumns + 1; i++) { 
        System.out.print(rs.getString(i) + "   "); 
      } 
      System.out.println(); 
    } 
 
  } 
 
  private static Connection getConnection() throws Exception { 
    Class.forName("org.hsqldb.jdbcDriver"); 
    String url = "jdbc:hsqldb:mem:data/tutorial"; 
 
    return DriverManager.getConnection(url, "sa", ""); 
  } 
} 
    
    |