blob: 3944c211cf6fead8354d5a3d6dde5100985fa761 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
|