added toModel(QSqlQueryModel*) to Nut::Query [skip ci]
This commit is contained in:
parent
0e61d62ab6
commit
37a2e8f5fc
|
|
@ -5,6 +5,7 @@
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "phrases/phraselist.h"
|
#include "phrases/phraselist.h"
|
||||||
|
#include "phrases/fieldphrase.h"
|
||||||
|
|
||||||
NUT_BEGIN_NAMESPACE
|
NUT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
|
@ -30,6 +31,63 @@ public:
|
||||||
int apply();
|
int apply();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//#define HEAD(x, ...) x
|
||||||
|
//#define TAIL(x, ...) __VA_ARGS__
|
||||||
|
//#define ENCLOSE(...) ( __VA_ARGS__ )
|
||||||
|
//#define REM_ENCLOSE_(...) __VA_ARGS__
|
||||||
|
//#define REM_ENCLOSE(...) REM_ENCLOSE_ __VA_ARGS__
|
||||||
|
|
||||||
|
//#define IF_ENCLOSED_1(true, ...) true
|
||||||
|
//#define IF_ENCLOSED_0(true, ...) __VA_ARGS__
|
||||||
|
//#define IF_ENCLOSED(...) CAT(IF_ENCLOSED_, IF_ENCLOSED(__VA_ARGS__))
|
||||||
|
//// This function will optionally remove brackets around its arguments
|
||||||
|
//// if there are any. Otherwise it will return normally
|
||||||
|
//#define OPT_REM_ENCLOSE(...) \
|
||||||
|
// IF_ENCLOSED (__VA_ARGS__) ( REM_ENCLOSE(__VA_ARGS__), __VA_ARGS__ )
|
||||||
|
|
||||||
|
//#define TEST_LAST EXISTS(1)
|
||||||
|
//#define IS_LIST_EMPTY(...) \
|
||||||
|
// TRY_EXTRACT_EXISTS( \
|
||||||
|
// DEFER(HEAD) (__VA_ARGS__ EXISTS(1))\
|
||||||
|
// , 0)
|
||||||
|
//#define IS_LIST_NOT_EMPTY(...) NOT(IS_LIST_EMPTY(__VA_ARGS__))
|
||||||
|
|
||||||
|
//#define FOR_EACH(fVisitor, ...) \
|
||||||
|
// fVisitor( OPT_REM_ENCLOSE(HEAD(__VA_ARGS__)) ) \
|
||||||
|
// FOR_EACH(fVisitor, TAIL(__VA_ARGS__))
|
||||||
|
|
||||||
|
//#define NUT_FOREACH(F, ...) \
|
||||||
|
// F(HEAD(__VA_ARGS__)); \
|
||||||
|
// NUT_FOREACH(F, TAIL(__VA_ARGS__))
|
||||||
|
//template <typename... ETC>
|
||||||
|
//class Bulk
|
||||||
|
//{
|
||||||
|
//public:
|
||||||
|
// void f(int){}
|
||||||
|
// Bulk()
|
||||||
|
// {
|
||||||
|
// int a, b, c, d;
|
||||||
|
// NUT_FOREACH(f, a, c, d)
|
||||||
|
|
||||||
|
// }
|
||||||
|
//};
|
||||||
|
|
||||||
|
//template <typename T1, typename... ETC>
|
||||||
|
//class Bulk<T1, ETC...>
|
||||||
|
//{
|
||||||
|
//public:
|
||||||
|
// Bulk(FieldPhrase<T1>)
|
||||||
|
// {}
|
||||||
|
//};
|
||||||
|
|
||||||
|
//template <typename T1, typename T2, typename... ETC>
|
||||||
|
//class Bulk<T1, T2, ETC...>
|
||||||
|
//{
|
||||||
|
//public:
|
||||||
|
// Bulk(FieldPhrase<T1>, FieldPhrase<T2>)
|
||||||
|
// {}
|
||||||
|
//};
|
||||||
|
|
||||||
NUT_END_NAMESPACE
|
NUT_END_NAMESPACE
|
||||||
|
|
||||||
#endif // BULKINSERTER_H
|
#endif // BULKINSERTER_H
|
||||||
|
|
|
||||||
16
src/query.h
16
src/query.h
|
|
@ -83,7 +83,7 @@ public:
|
||||||
QVariant min(const FieldPhrase<int> &f);
|
QVariant min(const FieldPhrase<int> &f);
|
||||||
QVariant average(const FieldPhrase<int> &f);
|
QVariant average(const FieldPhrase<int> &f);
|
||||||
|
|
||||||
QVariant insert(AssignmentPhraseList p);
|
QVariant insert(const AssignmentPhraseList &p);
|
||||||
|
|
||||||
//data mailpulation
|
//data mailpulation
|
||||||
int update(const AssignmentPhraseList &ph);
|
int update(const AssignmentPhraseList &ph);
|
||||||
|
|
@ -91,6 +91,7 @@ public:
|
||||||
int remove();
|
int remove();
|
||||||
|
|
||||||
QSqlQueryModel *toModel();
|
QSqlQueryModel *toModel();
|
||||||
|
void toModel(QSqlQueryModel *model);
|
||||||
|
|
||||||
//debug purpose
|
//debug purpose
|
||||||
QString sqlCommand() const;
|
QString sqlCommand() const;
|
||||||
|
|
@ -410,7 +411,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::average(const FieldPhrase<int> &f)
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
Q_OUTOFLINE_TEMPLATE QVariant Query<T>::insert(AssignmentPhraseList p)
|
Q_OUTOFLINE_TEMPLATE QVariant Query<T>::insert(const AssignmentPhraseList &p)
|
||||||
{
|
{
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
d->sql = d->database->sqlGenertor()
|
d->sql = d->database->sqlGenertor()
|
||||||
|
|
@ -541,6 +542,14 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::remove()
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
Q_OUTOFLINE_TEMPLATE QSqlQueryModel *Query<T>::toModel()
|
Q_OUTOFLINE_TEMPLATE QSqlQueryModel *Query<T>::toModel()
|
||||||
|
{
|
||||||
|
QSqlQueryModel *model = new QSqlQueryModel;
|
||||||
|
toModel(model);
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
Q_OUTOFLINE_TEMPLATE void Query<T>::toModel(QSqlQueryModel *model)
|
||||||
{
|
{
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
|
|
@ -551,7 +560,6 @@ Q_OUTOFLINE_TEMPLATE QSqlQueryModel *Query<T>::toModel()
|
||||||
d->skip, d->take);
|
d->skip, d->take);
|
||||||
|
|
||||||
DatabaseModel dbModel = d->database->model();
|
DatabaseModel dbModel = d->database->model();
|
||||||
QSqlQueryModel *model = new QSqlQueryModel;
|
|
||||||
model->setQuery(d->sql, d->database->database());
|
model->setQuery(d->sql, d->database->database());
|
||||||
|
|
||||||
int fieldIndex = 0;
|
int fieldIndex = 0;
|
||||||
|
|
@ -573,8 +581,6 @@ Q_OUTOFLINE_TEMPLATE QSqlQueryModel *Query<T>::toModel()
|
||||||
f->displayName);
|
f->displayName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return model;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue