// SelectQuery.h #ifndef dset__SelectQuery_H #define dset__SelectQuery_H // Chitra Kannan // July 2004 // // Class to build a Sql Select Query. It is intended to carry the fields/columns // and the constraint: not the from clause. #include #include #include namespace dset { class SelectQuery { public: // tyepdefs typedef std::string Constraint; private: //Data Members std::string m_columns; // 'select' clause as a string Constraint m_constraint; // 'where' clause bool m_validity; public: // methods // Default constructor. explicit SelectQuery(std::string columns ="", std::string condition =""); // Destructor. virtual ~SelectQuery(); // Reset the sql query,i.e, set m_onstraint to null SelectQuery& reset(); // Is the sql query valid bool is_valid() const; // Set a sql query. SelectQuery& set(std::string columns, Constraint con); // Add AND constraint to sql query. SelectQuery& andconstraint(Constraint con); // Add OR constraint to sql query. SelectQuery& orconstraint(Constraint con); // Get constraint on the current sql query. std::string get_constraint() const; // Get current sql query. std::string get_columns() const; }; } // end dataset namespace // Output stream. std::ostream& operator<< (std::ostream& lhs, const dset::SelectQuery& rhs); #endif