kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Query.h
1#pragma once
2
3#include <QObject>
4
5#include <knowDBC/Forward.h>
6
7class QAbstractItemModel;
8
9namespace knowDBC::Quick
10{
11 class Query : public QObject
12 {
13 Q_OBJECT
14 Q_PROPERTY(
15 knowDBC::Connection connection READ connection WRITE setConnection NOTIFY connectionChanged)
16 Q_PROPERTY(QString query READ query WRITE setQuery NOTIFY queryChanged)
17 Q_PROPERTY(QAbstractItemModel* result READ result CONSTANT)
18 Q_PROPERTY(bool autoExecute READ isAutoExecute WRITE setAutoExecute NOTIFY autoExecuteChanged)
19 Q_PROPERTY(QString lastError READ lastError NOTIFY lastErrorChanged)
20 Q_PROPERTY(QVariant bindings READ bindings WRITE setBindings NOTIFY bindingsChanged)
21 Q_PROPERTY(bool multipleQueries READ isMultipleQueries WRITE setMultipleQueries NOTIFY
22 multipleQueriesChanged)
23 Q_PROPERTY(QVariant environment READ environment WRITE setEnvironment NOTIFY environmentChanged)
24 Q_PROPERTY(QString queryType READ queryType WRITE setQueryType NOTIFY queryTypeChanged)
25 public:
26 Query(QObject* _parent = nullptr);
27 ~Query();
28 Q_INVOKABLE void execute();
29 knowDBC::Connection connection() const;
30 void setConnection(const knowDBC::Connection& _connection);
31 QVariant bindings() const;
32 void setBindings(const QVariant& _bindings);
33 QVariant environment() const;
34 void setEnvironment(const QVariant& _environment);
35 QString query();
36 void setQuery(const QString& _query);
37 QAbstractItemModel* result() const;
38 bool isAutoExecute() const;
39 void setAutoExecute(bool _exec);
40 bool isMultipleQueries() const;
41 void setMultipleQueries(bool _v);
42 QString lastError() const;
43 QString queryType() const;
44 void setQueryType(const QString& _queryType);
45 protected:
46 void executeIfNeeded();
47 signals:
52 void connectionChanged();
53 void queryChanged();
54 void autoExecuteChanged();
55 void lastErrorChanged();
56 void bindingsChanged();
57 void multipleQueriesChanged();
58 void queryTypeChanged();
59 void environmentChanged();
60 private:
61 struct Private;
62 Private* const d;
63 };
64} // namespace knowDBC::Quick
Definition Connection.h:18
Definition Query.h:12