Mega Code Archive

 
Categories / Java Tutorial / Database
 

Chaining SQLExceptions

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class Main {   public static void main(String[] args) throws Exception {     try {       Connection conn = getHSQLConnection();       conn.setAutoCommit(false);       Statement st = conn.createStatement();       st.executeUpdate("create table survey (id int,name varchar(30));");       st.executeUpdate("insert into survey (id,name ) values (1,'nameValue')");       st = conn.createStatement();       ResultSet rs = st.executeQuery("SELECT * FROM survey");       outputResultSet(rs);       rs.close();       st.close();       conn.close();     } catch (SQLException sqle) {       do { // loop through each exception         // do something with each exception         System.err.println("Exception occurred:\nMessage: " + sqle.getMessage());         System.err.println("SQL state: " + sqle.getSQLState());         System.err.println("Vendor code: " + sqle.getErrorCode() + "\n----------------");       } while ((sqle = sqle.getNextException()) != null);     }   }   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 getHSQLConnection() throws Exception {     Class.forName("org.hsqldb.jdbcDriver");     String url = "jdbc:hsqldb:mem:data/tutorial";     return DriverManager.getConnection(url, "sa", "");   } }