QEloquent 1.1.0
Qt most flexible ORM.
Loading...
Searching...
No Matches
querybuilder.h
1#ifndef QELOQUENT_QUERYBUILDER_H
2#define QELOQUENT_QUERYBUILDER_H
3
4#include <QEloquent/global.h>
5
6class QIODevice;
7
8namespace QEloquent {
9
10class Query;
11class DataMap;
12class Connection;
13
14class QELOQUENT_EXPORT QueryBuilder
15{
16public:
17 static QString selectStatement(const Query &query);
18 static QString selectStatement(const QList<QPair<QString, QString>> &fields, const Query &query);
19 static QString selectStatement(const QStringList fields, const Query &query);
20 static QString selectStatement(const QString fields, const Query &query);
21
22 static QString insertStatement(const DataMap &data, const Query &query);
23
24 static QString updateStatement(const DataMap &data, const Query &query);
25
26 static QString deleteStatement(const Query &query);
27
28#ifdef QELOQUENT_MIGRATIONS_SUPPORT
29 static QStringList createTableStatements(const class TableBlueprint &blueprint, const Connection &connection);
30 static QStringList alterTableStatements(const TableBlueprint &blueprint, const Connection &connection);
31#endif
32
33 static QString escapeFieldName(const QString &name, const Connection &connection);
34 static QString escapeTableName(const QString &name, const Connection &connection);
35
36 static QString formatValue(const QVariant &value, const Connection &connection);
37 static QString formatValue(const QVariant &value, const QMetaType &type, const Connection &connection);
38
39 static QStringList statementsFromScriptFile(const QString &fileName);
40 static QStringList statementsFromScriptDevice(QIODevice *device);
41 static QStringList statementsFromScriptContent(const QByteArray &content);
42};
43
44} // namespace QEloquent
45
46#endif // QELOQUENT_QUERYBUILDER_H