diff options
| author | 2015-11-25 16:48:41 -0500 | |
|---|---|---|
| committer | 2015-11-25 16:48:41 -0500 | |
| commit | 8e640722c62692818ab840d50b3758f89a41a54e (patch) | |
| tree | 38197eb1688a5afc338081ea17e15f938976e422 /Plugins/DbAndroid/sqlqueryandroid.h | |
| parent | 9618f0ebbf4b88045247c01ce8c8f58203508ebf (diff) | |
Imported Upstream version 3.0.7upstream/3.0.7
Diffstat (limited to 'Plugins/DbAndroid/sqlqueryandroid.h')
| -rw-r--r-- | Plugins/DbAndroid/sqlqueryandroid.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Plugins/DbAndroid/sqlqueryandroid.h b/Plugins/DbAndroid/sqlqueryandroid.h new file mode 100644 index 0000000..3944c21 --- /dev/null +++ b/Plugins/DbAndroid/sqlqueryandroid.h @@ -0,0 +1,47 @@ +#ifndef SQLQUERYANDROID_H +#define SQLQUERYANDROID_H + +#include "db/sqlquery.h" +#include "parser/token.h" +#include <QJsonDocument> + +class DbAndroidConnection; +class DbAndroidInstance; + +class SqlQueryAndroid : public SqlQuery +{ + public: + SqlQueryAndroid(DbAndroidInstance* db, DbAndroidConnection* connection, const QString& query); + ~SqlQueryAndroid(); + + QString getErrorText(); + int getErrorCode(); + QStringList getColumnNames(); + int columnCount(); + void rewind(); + + protected: + SqlResultsRowPtr nextInternal(); + bool hasNextInternal(); + bool execInternal(const QList<QVariant>& args); + bool execInternal(const QHash<QString, QVariant>& args); + + private: + bool executeAndHandleResponse(const QString& query); + void resetResponse(); + + static QString convertArg(const QVariant& value); + + DbAndroidInstance* db = nullptr; + DbAndroidConnection* connection = nullptr; + QString queryString; + TokenList tokenizedQuery; + int errorCode = 0; + QString errorText; + QStringList resultColumns; + QList<QVariantHash> resultDataMap; + QList<QVariantList> resultDataList; + int currentRow = -1; +}; + +#endif // SQLQUERYANDROID_H |
