public Track getTrack(final int trackRefNumber) throws SQLException
   {
      // First Build the bare track details
      PreparedStatement s = Connect
            .getConnection()
            .getPreparedStatement(
                  "SELECT RecordNumber, TrackName, Length, TrackNumber,formtrack FROM Track  WHERE TrackRefNumber = ? ORDER BY TrackNumber");
      s.setInt(1, trackRefNumber);
      ResultSet rs = s.executeQuery();

      // Naive approach to check for speed
      Track currTrack = null;
      while (rs.next())
      {
         int trckNum = rs.getInt(4);

         // Create new track
         String name = rs.getString(2);
         if (name == null)
            name = "";
         int len = rs.getInt(3);
         int refNum = trackRefNumber;
         int formtrack = rs.getInt(5);
         int recNumber = rs.getInt(1);

         // currTrack = new Track(name, len, getLineUps(refNum),
         // getPersonnel(refNum), trckNum, refNum);
         currTrack = new Track(name, len, getLineUps(refNum), getPersonnel(refNum), trckNum,
               refNum, formtrack, recNumber);
      }
      rs.close();
      s.close();

      return currTrack;
   }