Here you can find the source of closeDB()
public static void closeDB()
//package com.java2s; //License from project: Open Source License import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; public class Main { private static String framework = "embedded"; private static String dbName; private static String lasterror = ""; private static Connection conn = null; private static ArrayList<Statement> statements = new ArrayList<Statement>(); private static ResultSet rs = null; public static void closeDB() { if (framework.equals("embedded")) { try { // the shutdown=true attribute shuts down Derby DriverManager.getConnection("jdbc:derby:" + dbName + ";shutdown=true"); } catch (SQLException se) { if (((se.getErrorCode() == 45000) && ("08006".equals(se.getSQLState())))) { // we got the expected exception // Note that for single database shutdown, the expected // SQL state is "08006", and the error code is 45000. } else { // if the error code or SQLState is different, we have // an unexpected exception (shutdown failed) System.err.println("Derby did not shut down normally"); printSQLException(se); }/*from ww w .j ava 2 s . c o m*/ } } // release all open resources to avoid unnecessary memory usage // ResultSet try { if (rs != null) { rs.close(); rs = null; } //System.err.println("Cleaned ResultSet"); } catch (SQLException sqle) { printSQLException(sqle); } // Statements and PreparedStatements int i = 0; while (!statements.isEmpty()) { // PreparedStatement extend Statement Statement st = (Statement) statements.remove(i); try { if (st != null) { st.close(); st = null; } } catch (SQLException sqle) { printSQLException(sqle); } } //Connection try { if (conn != null) { conn.close(); System.out.println("Connection closed"); conn = null; } } catch (SQLException sqle) { printSQLException(sqle); } } /** * Prints details of an SQLException chain to <code>System.err</code>. * Details included are SQL State, Error code, Exception message. * * @param e the SQLException from which to print details. */ public static void printSQLException(SQLException e) { // Unwraps the entire exception chain to unveil the real cause of the // Exception. while (e != null) { System.err.println("\n----- SQLException -----"); System.err.println(" SQL State: " + e.getSQLState()); System.err.println(" Error Code: " + e.getErrorCode()); System.err.println(" Message: " + e.getMessage()); // for stack traces, refer to derby.log or uncomment this: //e.printStackTrace(System.err); lasterror = e.getMessage(); e = e.getNextException(); } } }