added toModel(QSqlQueryModel*) to Nut::Query [skip ci]
This commit is contained in:
parent
0e61d62ab6
commit
37a2e8f5fc
|
|
@ -5,6 +5,7 @@
|
|||
#include <QDebug>
|
||||
#include "defines.h"
|
||||
#include "phrases/phraselist.h"
|
||||
#include "phrases/fieldphrase.h"
|
||||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
|
|
@ -30,6 +31,63 @@ public:
|
|||
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
|
||||
|
||||
#endif // BULKINSERTER_H
|
||||
|
|
|
|||
16
src/query.h
16
src/query.h
|
|
@ -83,7 +83,7 @@ public:
|
|||
QVariant min(const FieldPhrase<int> &f);
|
||||
QVariant average(const FieldPhrase<int> &f);
|
||||
|
||||
QVariant insert(AssignmentPhraseList p);
|
||||
QVariant insert(const AssignmentPhraseList &p);
|
||||
|
||||
//data mailpulation
|
||||
int update(const AssignmentPhraseList &ph);
|
||||
|
|
@ -91,6 +91,7 @@ public:
|
|||
int remove();
|
||||
|
||||
QSqlQueryModel *toModel();
|
||||
void toModel(QSqlQueryModel *model);
|
||||
|
||||
//debug purpose
|
||||
QString sqlCommand() const;
|
||||
|
|
@ -410,7 +411,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::average(const FieldPhrase<int> &f)
|
|||
}
|
||||
|
||||
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);
|
||||
d->sql = d->database->sqlGenertor()
|
||||
|
|
@ -541,6 +542,14 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::remove()
|
|||
|
||||
template <class T>
|
||||
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);
|
||||
|
||||
|
|
@ -551,7 +560,6 @@ Q_OUTOFLINE_TEMPLATE QSqlQueryModel *Query<T>::toModel()
|
|||
d->skip, d->take);
|
||||
|
||||
DatabaseModel dbModel = d->database->model();
|
||||
QSqlQueryModel *model = new QSqlQueryModel;
|
||||
model->setQuery(d->sql, d->database->database());
|
||||
|
||||
int fieldIndex = 0;
|
||||
|
|
@ -573,8 +581,6 @@ Q_OUTOFLINE_TEMPLATE QSqlQueryModel *Query<T>::toModel()
|
|||
f->displayName);
|
||||
}
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
|
|
|
|||
Loading…
Reference in New Issue