public Groop getSingleGroop(int num) throws SQLException
   {
      // Get a statement and run the query
      String sql = "SELECT Groops.GroopNumber, groops.sort_name, groops.show_name, LineUp.LineUpNumber, ArtistNumber FROM Groops,LineUp,LineUpDetails WHERE Groops.groopnumber = ? AND Groops.GroopNumber = LineUp.GroopNumber AND LineUp.LineUpNumber = LineUpDetails.LineUpNumber ORDER BY sort_name, LineUp.LineUpNumber ASC";
      PreparedStatement ps = Connect.getConnection().getPreparedStatement(sql);
      ps.setInt(1, num);
      ps.execute();
      ResultSet rs = ps.getResultSet();

      Groop currGroop = null;
      LineUp currLineUp = null;
      while (rs.next())
      {
         // Read the info
         int groopNumber = rs.getInt(1);
         String sortName = rs.getString(2);
         String showName = rs.getString(3);
         int lineUpNumber = rs.getInt(4);
         int artistNumber = rs.getInt(5);

         if (currGroop == null)
         {
            // Construct the current groop and line up
            currGroop = new Groop(sortName, showName, groopNumber, new TreeSet<LineUp>());
            currLineUp = new LineUp(lineUpNumber, new TreeSet<Artist>(), currGroop);
            currLineUp.addArtist(GetArtists.create().getArtist(artistNumber));
         }
         else if (!sortName.equals(currGroop.getSortName()))
         {
            // Add the groop and create a new one
            // Ensure that we add the last lineUp
            currGroop.addLineUp(currLineUp);

            // Construct the current groop and line up
            currGroop = new Groop(sortName, showName, groopNumber, new TreeSet<LineUp>());
            currLineUp = new LineUp(lineUpNumber, new TreeSet<Artist>(), currGroop);
            currLineUp.addArtist(GetArtists.create().getArtist(artistNumber));

         }
         else if (currLineUp.getLineUpNumber() != lineUpNumber)
         {
            // Add the line up
            currGroop.addLineUp(currLineUp);

            // Construct the new line up
            currLineUp = new LineUp(lineUpNumber, new TreeSet<Artist>(), currGroop);
            currLineUp.addArtist(GetArtists.create().getArtist(artistNumber));
         }
         else
            currLineUp.addArtist(GetArtists.create().getArtist(artistNumber));

      }
      return currGroop;
   }