addrelatedepisodestask.cpp \
scriptablesql.cpp \
reportengine.cpp \
- databaseclasses.cpp
+ databaseclasses.cpp \
+ sqlquery.cpp
HEADERS += \
localmylist_global.h \
addrelatedepisodestask.h \
scriptablesql.h \
reportengine.h \
- databaseclasses.h
+ databaseclasses.h \
+ sqlquery.h
CONV_HEADERS += \
include/LocalMyList/AbstractTask \
include/LocalMyList/AddRelatedEpisodesTask \
include/LocalMyList/AnimeTitleParseTask \
include/LocalMyList/Database \
+ include/LocalMyList/SqlQuery \
include/LocalMyList/DirectoryScanTask \
include/LocalMyList/MyList \
include/LocalMyList/MyListExportParseTask \
--- /dev/null
+#include "sqlquery.h"
+
+#include <QSqlRecord>
+#include <QSqlError>
+
+class SqlQueryInternal
+{
+public:
+ SqlQueryInternal();
+
+ bool prepare(const QString &query);
+ void bindValue(const QString &placeholder, const QVariant &val, QSql::ParamType paramType = QSql::In);
+ bool exec();
+
+ bool exec(const QString &query);
+
+ bool next();
+ QVariant value(int index) const;
+ QVariant value(const QString &name) const;
+ int indexOf(const QString &name ) const;
+ void finish();
+
+ QString executedQuery() const;
+ QString lastError() const;
+
+ QSqlQuery q;
+};
+
+
+bool SqlQueryInternal::prepare(const QString &query)
+{
+ return q.prepare(query);
+}
+
+void SqlQueryInternal::bindValue(const QString &placeholder, const QVariant &val, QSql::ParamType paramType)
+{
+ q.bindValue(placeholder, val, paramType);
+}
+
+bool SqlQueryInternal::exec()
+{
+ return q.exec();
+}
+
+bool SqlQueryInternal::exec(const QString &query)
+{
+ return q.exec(query);
+}
+
+bool SqlQueryInternal::next()
+{
+ return q.next();
+}
+
+QVariant SqlQueryInternal::value(int index) const
+{
+ return q.value(index);
+}
+
+QVariant SqlQueryInternal::value(const QString &name) const
+{
+ return q.record().value(name);
+}
+
+int SqlQueryInternal::indexOf(const QString &name) const
+{
+ return q.record().indexOf(name);
+}
+
+void SqlQueryInternal::finish()
+{
+ return q.finish();
+}
+
+QString SqlQueryInternal::executedQuery() const
+{
+ return q.executedQuery();
+}
+
+QString SqlQueryInternal::lastError() const
+{
+ return q.lastError().databaseText();
+}
+
+
+// -------------------------------
+SqlQuery::SqlQuery(QObject *parent) :
+ QObject(parent)
+{
+}
+
+bool SqlQuery::prepare(const QString &query)
+{
+ return d->prepare(query);
+}
+
+void SqlQuery::bindValue(const QString &placeholder, const QVariant &val, QSql::ParamType paramType)
+{
+ d->bindValue(placeholder, val, paramType);
+}
+
+bool SqlQuery::exec()
+{
+ return d->exec();
+}
+
+bool SqlQuery::exec(const QString &query)
+{
+ return d->exec(query);
+}
+
+bool SqlQuery::next()
+{
+ return d->next();
+}
+
+QVariant SqlQuery::value(int index) const
+{
+ return d->value(index);
+}
+
+QVariant SqlQuery::value(const QString &name) const
+{
+ return d->value(name);
+}
+
+int SqlQuery::indexOf(const QString &name) const
+{
+ return d->indexOf(name);
+}
+
+void SqlQuery::finish()
+{
+ return d->finish();
+}
+
+QString SqlQuery::executedQuery() const
+{
+ return d->executedQuery();
+}
+
+QString SqlQuery::lastError() const
+{
+ return d->lastError();
+}
--- /dev/null
+#ifndef SQLQUERY_H
+#define SQLQUERY_H
+
+#include <QObject>
+#include <QSqlQuery>
+
+class SqlQueryInternal;
+
+class SqlQuery : public QObject
+{
+ Q_OBJECT
+public:
+ explicit SqlQuery(QObject *parent = 0);
+
+ bool prepare(const QString &query);
+ void bindValue(const QString &placeholder, const QVariant &val, QSql::ParamType paramType = QSql::In);
+ bool exec();
+
+ bool exec(const QString &query);
+
+ bool next();
+ QVariant value(int index) const;
+ QVariant value(const QString &name) const;
+ int indexOf(const QString &name ) const;
+ void finish();
+
+ QString executedQuery() const;
+ QString lastError() const;
+
+signals:
+
+public slots:
+ SqlQueryInternal *d;
+};
+
+#endif // SQLQUERY_H