public void select(String target, String source, String criteria, String order)
  {
    try
    {
       Statement s = connection.createStatement();
       String ordering = "";
       if (!order.isEmpty()) ordering = " Order By " + order;
       if (criteria.isEmpty())
         s.execute("Select " + target + " From " + source + ordering);
       else
         s.execute("Select " + target + " From " + source + " Where " + criteria + ordering);
       if (results != null) results.close();
       results = s.getResultSet();
    }
    catch (Exception ex)
    {
      throw new InvalidQueryException("Database access failed");
    }
  }