public void setupBankTable()
    throws Exception
  {
    Connection conn = getConnection();
    PreparedStatement ps = null;
    ResultSet rs = null;

    if (Misc.is(Constants.DatabaseType, new String[] { "sqlite", "h2", "h2sql" })) {
      try {
        ps = conn.prepareStatement("CREATE TABLE " + Constants.SQLTable + "_Banks(" + "id INT auto_increment PRIMARY KEY," + "name VARCHAR(32)," + "major VARCHAR(255)," + "minor VARCHAR(255)," + "initial DECIMAL(64,2)," + "fee DECIMAL(64,2)" + ");");

        ps.executeUpdate(); } catch (SQLException E) {
      }
    } else {
      DatabaseMetaData dbm = conn.getMetaData();
      rs = dbm.getTables(null, null, Constants.SQLTable + "_Banks", null);

      if (!rs.next()) {
        System.out.println("[iConomy] Creating table: " + Constants.SQLTable + "_Banks");

        ps = conn.prepareStatement("CREATE TABLE " + Constants.SQLTable + "_Banks(" + "`id` INT(10) NOT NULL AUTO_INCREMENT," + "`name` VARCHAR(32) NOT NULL," + "`major` VARCHAR(255)," + "`minor` VARCHAR(255)," + "`initial` DECIMAL(64,2)," + "`fee` DECIMAL(64,2)," + "PRIMARY KEY (`id`)" + ")");

        ps.executeUpdate();

        System.out.println("[iConomy] Table Created.");
      }
    }

    if (ps != null) try {
        ps.close();
      } catch (SQLException ex) {
      } if (rs != null) try {
        rs.close();
      } catch (SQLException ex) {
      } if (conn != null) try {
        conn.close();
      }
      catch (SQLException ex)
      {
      } 
  }