knowL: Knowledge Libraries
Loading...
Searching...
No Matches
Query.h
1#pragma once
2
3#include <knowDBC/Forward.h>
4
5#include <QExplicitlySharedDataPointer>
6
7#include <knowCore/Value.h>
8
9namespace knowDBC
10{
11 class Query
12 {
13 public:
15 {
16 static QString InlineArguments; //< Set to true to inline the argument of the Query
17 static QString MultiQueries; //< set this option if executing multiple query (does not work with SELECT and might inline the arguments)
18 };
19 public:
20 Query();
22 Query(const Query& _sqlQuery);
23 Query& operator=(const Query& _sqlQuery);
24 ~Query();
25 public:
26 QString query() const;
27 void setQuery(const QString& _text, bool _keepBindings = false);
28
36 knowCore::ReturnVoid loadFromFile(const QString& _filename);
37
38 void clearOptions();
39 knowCore::Value option(const QString& _key);
40 void unsetOption(const QString& _key);
41 void setOption(const QString& _key, const knowCore::Value& _value);
42 template<typename _T_>
43 void setOption(const QString& _key, const _T_& _value) { setOption(_key, knowCore::Value::fromValue(_value)); }
44 void setOptions(const knowCore::ValueHash& _values);
45
46 void bindValue(const QString& _name, const knowCore::Value& _variant);
47 void bindValue(const QString& _name, const char* _literal) { bindValue(_name, knowCore::Value::fromValue(QString::fromUtf8(_literal))); }
48 template<typename _T_>
49 void bindValue(const QString& _name, const _T_& _value) { bindValue(_name, knowCore::Value::fromValue<_T_>(_value)); }
50 void bindValues(const knowCore::ValueHash& _values);
51 void bindValues(const QMap<QString, knowCore::Value>& _values);
52 template<typename _T_, typename... _TOther_>
53 void bindValues(const QString& _name, const _T_& _value, _TOther_... _other) { bindValue(_name, _value); bindValues(_other...); }
54 void clearBindings();
55 knowDBC::Result execute();
56 private:
57 void bindValues() {}
58 struct Private;
59 QExplicitlySharedDataPointer<Private> d;
60 };
61
62}
63
Definition Forward.h:10
Definition ReturnValue.h:85
Definition Uri.h:14
Definition ValueHash.h:13
Definition Value.h:13
static Value fromValue(const _T_ &_value)
Definition Value.h:184
Definition QueryExecutor.h:8
Definition Query.h:12
knowCore::ReturnVoid loadFromFile(const knowCore::Uri &_source)
Definition Query.cpp:86
Definition Result.h:19
Definition Query.h:15