/src/libtomahawk/database/TomahawkSqlQuery.h

http://github.com/tomahawk-player/tomahawk · C Header · 55 lines · 22 code · 14 blank · 19 comment · 0 complexity · 54c13a47c27a623f7c64de02be7e9830 MD5 · raw file

  1. /* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
  2. *
  3. * Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
  4. *
  5. * Tomahawk is free software: you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation, either version 3 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * Tomahawk is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. #ifndef TOMAHAWKSQLQUERY_H
  19. #define TOMAHAWKSQLQUERY_H
  20. // subclass QSqlQuery so that it prints the error msg if a query fails
  21. #include <QSqlDriver>
  22. #include <QSqlQuery>
  23. //#define TOMAHAWK_QUERY_ANALYZE 1
  24. #include "DllMacro.h"
  25. class DLLEXPORT TomahawkSqlQuery : public QSqlQuery
  26. {
  27. public:
  28. TomahawkSqlQuery();
  29. TomahawkSqlQuery( const QSqlDatabase& db );
  30. static QString escape( QString identifier );
  31. bool prepare( const QString& query );
  32. bool exec( const QString& query );
  33. bool exec();
  34. bool commitTransaction();
  35. private:
  36. bool isBusyError( const QSqlError& error ) const;
  37. void showError();
  38. QSqlDatabase m_db;
  39. QString m_query;
  40. };
  41. #endif // TOMAHAWKSQLQUERY_H