![]() |
QxOrm
1.2.5
C++ Object Relational Mapping library
|
00001 /**************************************************************************** 00002 ** 00003 ** http://www.qxorm.com/ 00004 ** Copyright (C) 2013 Lionel Marty (contact@qxorm.com) 00005 ** 00006 ** This file is part of the QxOrm library 00007 ** 00008 ** This software is provided 'as-is', without any express or implied 00009 ** warranty. In no event will the authors be held liable for any 00010 ** damages arising from the use of this software 00011 ** 00012 ** Commercial Usage 00013 ** Licensees holding valid commercial QxOrm licenses may use this file in 00014 ** accordance with the commercial license agreement provided with the 00015 ** Software or, alternatively, in accordance with the terms contained in 00016 ** a written agreement between you and Lionel Marty 00017 ** 00018 ** GNU General Public License Usage 00019 ** Alternatively, this file may be used under the terms of the GNU 00020 ** General Public License version 3.0 as published by the Free Software 00021 ** Foundation and appearing in the file 'license.gpl3.txt' included in the 00022 ** packaging of this file. Please review the following information to 00023 ** ensure the GNU General Public License version 3.0 requirements will be 00024 ** met : http://www.gnu.org/copyleft/gpl.html 00025 ** 00026 ** If you are unsure which license is appropriate for your use, or 00027 ** if you have questions regarding the use of this file, please contact : 00028 ** contact@qxorm.com 00029 ** 00030 ****************************************************************************/ 00031 00032 #ifndef _QX_SQL_QUERY_H_ 00033 #define _QX_SQL_QUERY_H_ 00034 00035 #ifdef _MSC_VER 00036 #pragma once 00037 #endif 00038 00046 #include <boost/tuple/tuple.hpp> 00047 #include <boost/tuple/tuple_comparison.hpp> 00048 #include <boost/tuple/tuple_io.hpp> 00049 00050 #include <QtSql/qsqlquery.h> 00051 00052 #include <QxCollection/QxCollection.h> 00053 00054 #include <QxDao/QxSqlElement/QxSqlElement.h> 00055 00056 namespace qx { 00057 00190 class QX_DLL_EXPORT QxSqlQuery 00191 { 00192 00193 protected: 00194 00195 struct QxSqlResult 00196 { QHash<QString, int> positionByKey; QVector< QVector<QVariant> > values; }; 00197 00198 typedef boost::tuple<QVariant, QSql::ParamType> type_bind_value; 00199 00200 QString m_sQuery; 00201 QxCollection<QString, type_bind_value> m_lstValue; 00202 qx::dao::detail::IxSqlElement_ptr m_pSqlElementTemp; 00203 QList<qx::dao::detail::IxSqlElement_ptr> m_lstSqlElement; 00204 int m_iSqlElementIndex; 00205 int m_iParenthesisCount; 00206 bool m_bDistinct; 00207 boost::shared_ptr<QxSqlResult> m_pSqlResult; 00208 00209 public: 00210 00211 QxSqlQuery() : m_iSqlElementIndex(0), m_iParenthesisCount(0), m_bDistinct(false) { ; } 00212 QxSqlQuery(const QString & sQuery) : m_sQuery(sQuery), m_iSqlElementIndex(0), m_iParenthesisCount(0), m_bDistinct(false) { ; } 00213 QxSqlQuery(const char * sQuery) : m_sQuery(sQuery), m_iSqlElementIndex(0), m_iParenthesisCount(0), m_bDistinct(false) { ; } 00214 virtual ~QxSqlQuery() { ; } 00215 00216 QString query(); 00217 bool isEmpty() const; 00218 bool isDistinct() const; 00219 void clear(); 00220 void resolve(QSqlQuery & query) const; 00221 void resolveOutput(QSqlQuery & query, bool bFetchSqlResult); 00222 void postProcess(QString & sql) const; 00223 00224 QxSqlQuery & query(const QString & sQuery); 00225 QxSqlQuery & bind(const QVariant & vValue, QSql::ParamType paramType = QSql::In); 00226 QxSqlQuery & bind(const QString & sKey, const QVariant & vValue, QSql::ParamType paramType = QSql::In); 00227 00228 QVariant boundValue(const QString & sKey) const; 00229 QVariant boundValue(int iPosition) const; 00230 00231 long getSqlResultRowCount() const; 00232 long getSqlResultColumnCount() const; 00233 QVariant getSqlResultAt(long row, long column) const; 00234 QVariant getSqlResultAt(long row, const QString & column) const; 00235 QVector<QVariant> getSqlResultAt(long row) const; 00236 QVector<QString> getSqlResultAllColumns() const; 00237 void dumpSqlResult(); 00238 00239 private: 00240 00241 #ifndef NDEBUG 00242 void verifyQuery() const; 00243 #else 00244 inline void verifyQuery() const { ; } 00245 #endif // NDEBUG 00246 00247 void fetchSqlResult(QSqlQuery & query); 00248 00249 public: 00250 00251 /* -- All methods to build SQL query using C++ syntax -- */ 00252 00253 virtual QxSqlQuery & distinct(); 00254 00255 virtual QxSqlQuery & where(const QString & column); 00256 virtual QxSqlQuery & where_OpenParenthesis(const QString & column); 00257 virtual QxSqlQuery & and_(const QString & column); 00258 virtual QxSqlQuery & and_OpenParenthesis(const QString & column); 00259 virtual QxSqlQuery & or_(const QString & column); 00260 virtual QxSqlQuery & or_OpenParenthesis(const QString & column); 00261 00262 virtual QxSqlQuery & openParenthesis(); 00263 virtual QxSqlQuery & closeParenthesis(); 00264 00265 virtual QxSqlQuery & orderAsc(const QStringList & columns); 00266 virtual QxSqlQuery & orderAsc(const QString & col1); 00267 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2); 00268 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2, const QString & col3); 00269 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4); 00270 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5); 00271 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6); 00272 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7); 00273 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8); 00274 virtual QxSqlQuery & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9); 00275 00276 virtual QxSqlQuery & orderDesc(const QStringList & columns); 00277 virtual QxSqlQuery & orderDesc(const QString & col1); 00278 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2); 00279 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2, const QString & col3); 00280 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4); 00281 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5); 00282 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6); 00283 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7); 00284 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8); 00285 virtual QxSqlQuery & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9); 00286 00287 virtual QxSqlQuery & groupBy(const QStringList & columns); 00288 virtual QxSqlQuery & groupBy(const QString & col1); 00289 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2); 00290 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2, const QString & col3); 00291 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4); 00292 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5); 00293 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6); 00294 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7); 00295 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8); 00296 virtual QxSqlQuery & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9); 00297 00298 virtual QxSqlQuery & limit(int rowsCount, int startRow = 0); 00299 00300 virtual QxSqlQuery & like(const QString & val); 00301 virtual QxSqlQuery & notLike(const QString & val); 00302 virtual QxSqlQuery & startsWith(const QString & val); 00303 virtual QxSqlQuery & endsWith(const QString & val); 00304 virtual QxSqlQuery & containsString(const QString & val); 00305 00306 virtual QxSqlQuery & isEqualTo(const QVariant & val); 00307 virtual QxSqlQuery & isNotEqualTo(const QVariant & val); 00308 virtual QxSqlQuery & isGreaterThan(const QVariant & val); 00309 virtual QxSqlQuery & isGreaterThanOrEqualTo(const QVariant & val); 00310 virtual QxSqlQuery & isLessThan(const QVariant & val); 00311 virtual QxSqlQuery & isLessThanOrEqualTo(const QVariant & val); 00312 00313 virtual QxSqlQuery & in(const QVariantList & values); 00314 virtual QxSqlQuery & in(const QVariant & val1); 00315 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2); 00316 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2, const QVariant & val3); 00317 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4); 00318 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5); 00319 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6); 00320 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7); 00321 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8); 00322 virtual QxSqlQuery & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8, const QVariant & val9); 00323 00324 virtual QxSqlQuery & notIn(const QVariantList & values); 00325 virtual QxSqlQuery & notIn(const QVariant & val1); 00326 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2); 00327 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3); 00328 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4); 00329 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5); 00330 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6); 00331 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7); 00332 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8); 00333 virtual QxSqlQuery & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8, const QVariant & val9); 00334 00335 virtual QxSqlQuery & in_Select(const QString & sql); 00336 virtual QxSqlQuery & notIn_Select(const QString & sql); 00337 00338 virtual QxSqlQuery & isNull(); 00339 virtual QxSqlQuery & isNotNull(); 00340 00341 virtual QxSqlQuery & isBetween(const QVariant & val1, const QVariant & val2); 00342 virtual QxSqlQuery & isNotBetween(const QVariant & val1, const QVariant & val2); 00343 00344 virtual QxSqlQuery & freeText(const QString & text); 00345 00346 private: 00347 00348 QxSqlQuery & addSqlExpression(const QString & column, qx::dao::detail::QxSqlExpression::type type); 00349 QxSqlQuery & addSqlCompare(const QVariant & val, qx::dao::detail::QxSqlCompare::type type); 00350 QxSqlQuery & addSqlSort(const QStringList & columns, qx::dao::detail::QxSqlSort::type type); 00351 QxSqlQuery & addSqlIn(const QVariantList & values, qx::dao::detail::QxSqlIn::type type); 00352 QxSqlQuery & addSqlIsNull(qx::dao::detail::QxSqlIsNull::type type); 00353 QxSqlQuery & addSqlIsBetween(const QVariant & val1, const QVariant & val2, qx::dao::detail::QxSqlIsBetween::type type); 00354 00355 }; 00356 00357 } // namespace qx 00358 00359 typedef qx::QxSqlQuery qx_query; 00360 00361 namespace qx { 00362 namespace dao { 00363 00387 QX_DLL_EXPORT QSqlError call_query(qx::QxSqlQuery & query, QSqlDatabase * pDatabase = NULL); 00388 00389 } // namespace dao 00390 } // namespace qx 00391 00392 #define QX_SQL_QUERY_DERIVED_IMPL_COVARIANT_RETURN_TYPE_HPP(className) \ 00393 public: \ 00394 \ 00395 virtual className & distinct(); \ 00396 \ 00397 virtual className & where(const QString & column); \ 00398 virtual className & where_OpenParenthesis(const QString & column); \ 00399 virtual className & and_(const QString & column); \ 00400 virtual className & and_OpenParenthesis(const QString & column); \ 00401 virtual className & or_(const QString & column); \ 00402 virtual className & or_OpenParenthesis(const QString & column); \ 00403 \ 00404 virtual className & openParenthesis(); \ 00405 virtual className & closeParenthesis(); \ 00406 \ 00407 virtual className & orderAsc(const QStringList & columns); \ 00408 virtual className & orderAsc(const QString & col1); \ 00409 virtual className & orderAsc(const QString & col1, const QString & col2); \ 00410 virtual className & orderAsc(const QString & col1, const QString & col2, const QString & col3); \ 00411 virtual className & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4); \ 00412 virtual className & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5); \ 00413 virtual className & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6); \ 00414 virtual className & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7); \ 00415 virtual className & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8); \ 00416 virtual className & orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9); \ 00417 \ 00418 virtual className & orderDesc(const QStringList & columns); \ 00419 virtual className & orderDesc(const QString & col1); \ 00420 virtual className & orderDesc(const QString & col1, const QString & col2); \ 00421 virtual className & orderDesc(const QString & col1, const QString & col2, const QString & col3); \ 00422 virtual className & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4); \ 00423 virtual className & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5); \ 00424 virtual className & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6); \ 00425 virtual className & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7); \ 00426 virtual className & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8); \ 00427 virtual className & orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9); \ 00428 \ 00429 virtual className & groupBy(const QStringList & columns); \ 00430 virtual className & groupBy(const QString & col1); \ 00431 virtual className & groupBy(const QString & col1, const QString & col2); \ 00432 virtual className & groupBy(const QString & col1, const QString & col2, const QString & col3); \ 00433 virtual className & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4); \ 00434 virtual className & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5); \ 00435 virtual className & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6); \ 00436 virtual className & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7); \ 00437 virtual className & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8); \ 00438 virtual className & groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9); \ 00439 \ 00440 virtual className & limit(int rowsCount, int startRow = 0); \ 00441 \ 00442 virtual className & like(const QString & val); \ 00443 virtual className & notLike(const QString & val); \ 00444 virtual className & startsWith(const QString & val); \ 00445 virtual className & endsWith(const QString & val); \ 00446 virtual className & containsString(const QString & val); \ 00447 \ 00448 virtual className & isEqualTo(const QVariant & val); \ 00449 virtual className & isNotEqualTo(const QVariant & val); \ 00450 virtual className & isGreaterThan(const QVariant & val); \ 00451 virtual className & isGreaterThanOrEqualTo(const QVariant & val); \ 00452 virtual className & isLessThan(const QVariant & val); \ 00453 virtual className & isLessThanOrEqualTo(const QVariant & val); \ 00454 \ 00455 virtual className & in(const QVariantList & values); \ 00456 virtual className & in(const QVariant & val1); \ 00457 virtual className & in(const QVariant & val1, const QVariant & val2); \ 00458 virtual className & in(const QVariant & val1, const QVariant & val2, const QVariant & val3); \ 00459 virtual className & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4); \ 00460 virtual className & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5); \ 00461 virtual className & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6); \ 00462 virtual className & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7); \ 00463 virtual className & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8); \ 00464 virtual className & in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8, const QVariant & val9); \ 00465 \ 00466 virtual className & notIn(const QVariantList & values); \ 00467 virtual className & notIn(const QVariant & val1); \ 00468 virtual className & notIn(const QVariant & val1, const QVariant & val2); \ 00469 virtual className & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3); \ 00470 virtual className & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4); \ 00471 virtual className & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5); \ 00472 virtual className & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6); \ 00473 virtual className & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7); \ 00474 virtual className & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8); \ 00475 virtual className & notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8, const QVariant & val9); \ 00476 \ 00477 virtual className & in_Select(const QString & sql); \ 00478 virtual className & notIn_Select(const QString & sql); \ 00479 \ 00480 virtual className & isNull(); \ 00481 virtual className & isNotNull(); \ 00482 \ 00483 virtual className & isBetween(const QVariant & val1, const QVariant & val2); \ 00484 virtual className & isNotBetween(const QVariant & val1, const QVariant & val2); \ 00485 \ 00486 virtual className & freeText(const QString & text); 00487 00488 #define QX_SQL_QUERY_DERIVED_IMPL_COVARIANT_RETURN_TYPE_CPP(className) \ 00489 \ 00490 className & className::distinct() { return static_cast<className &>(qx::QxSqlQuery::distinct()); } \ 00491 \ 00492 className & className::where(const QString & column) { return static_cast<className &>(qx::QxSqlQuery::where(column)); } \ 00493 className & className::where_OpenParenthesis(const QString & column) { return static_cast<className &>(qx::QxSqlQuery::where_OpenParenthesis(column)); } \ 00494 className & className::and_(const QString & column) { return static_cast<className &>(qx::QxSqlQuery::and_(column)); } \ 00495 className & className::and_OpenParenthesis(const QString & column) { return static_cast<className &>(qx::QxSqlQuery::and_OpenParenthesis(column)); } \ 00496 className & className::or_(const QString & column) { return static_cast<className &>(qx::QxSqlQuery::or_(column)); } \ 00497 className & className::or_OpenParenthesis(const QString & column) { return static_cast<className &>(qx::QxSqlQuery::or_OpenParenthesis(column)); } \ 00498 \ 00499 className & className::openParenthesis() { return static_cast<className &>(qx::QxSqlQuery::openParenthesis()); } \ 00500 className & className::closeParenthesis() { return static_cast<className &>(qx::QxSqlQuery::closeParenthesis()); } \ 00501 \ 00502 className & className::orderAsc(const QStringList & columns) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(columns)); } \ 00503 className & className::orderAsc(const QString & col1) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1)); } \ 00504 className & className::orderAsc(const QString & col1, const QString & col2) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2)); } \ 00505 className & className::orderAsc(const QString & col1, const QString & col2, const QString & col3) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2, col3)); } \ 00506 className & className::orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2, col3, col4)); } \ 00507 className & className::orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2, col3, col4, col5)); } \ 00508 className & className::orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2, col3, col4, col5, col6)); } \ 00509 className & className::orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2, col3, col4, col5, col6, col7)); } \ 00510 className & className::orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2, col3, col4, col5, col6, col7, col8)); } \ 00511 className & className::orderAsc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9) { return static_cast<className &>(qx::QxSqlQuery::orderAsc(col1, col2, col3, col4, col5, col6, col7, col8, col9)); } \ 00512 \ 00513 className & className::orderDesc(const QStringList & columns) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(columns)); } \ 00514 className & className::orderDesc(const QString & col1) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1)); } \ 00515 className & className::orderDesc(const QString & col1, const QString & col2) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2)); } \ 00516 className & className::orderDesc(const QString & col1, const QString & col2, const QString & col3) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2, col3)); } \ 00517 className & className::orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2, col3, col4)); } \ 00518 className & className::orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2, col3, col4, col5)); } \ 00519 className & className::orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2, col3, col4, col5, col6)); } \ 00520 className & className::orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2, col3, col4, col5, col6, col7)); } \ 00521 className & className::orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2, col3, col4, col5, col6, col7, col8)); } \ 00522 className & className::orderDesc(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9) { return static_cast<className &>(qx::QxSqlQuery::orderDesc(col1, col2, col3, col4, col5, col6, col7, col8, col9)); } \ 00523 \ 00524 className & className::groupBy(const QStringList & columns) { return static_cast<className &>(qx::QxSqlQuery::groupBy(columns)); } \ 00525 className & className::groupBy(const QString & col1) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1)); } \ 00526 className & className::groupBy(const QString & col1, const QString & col2) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2)); } \ 00527 className & className::groupBy(const QString & col1, const QString & col2, const QString & col3) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2, col3)); } \ 00528 className & className::groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2, col3, col4)); } \ 00529 className & className::groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2, col3, col4, col5)); } \ 00530 className & className::groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2, col3, col4, col5, col6)); } \ 00531 className & className::groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2, col3, col4, col5, col6, col7)); } \ 00532 className & className::groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2, col3, col4, col5, col6, col7, col8)); } \ 00533 className & className::groupBy(const QString & col1, const QString & col2, const QString & col3, const QString & col4, const QString & col5, const QString & col6, const QString & col7, const QString & col8, const QString & col9) { return static_cast<className &>(qx::QxSqlQuery::groupBy(col1, col2, col3, col4, col5, col6, col7, col8, col9)); } \ 00534 \ 00535 className & className::limit(int rowsCount, int startRow) { return static_cast<className &>(qx::QxSqlQuery::limit(rowsCount, startRow)); } \ 00536 \ 00537 className & className::like(const QString & val) { return static_cast<className &>(qx::QxSqlQuery::like(val)); } \ 00538 className & className::notLike(const QString & val) { return static_cast<className &>(qx::QxSqlQuery::notLike(val)); } \ 00539 className & className::startsWith(const QString & val) { return static_cast<className &>(qx::QxSqlQuery::startsWith(val)); } \ 00540 className & className::endsWith(const QString & val) { return static_cast<className &>(qx::QxSqlQuery::endsWith(val)); } \ 00541 className & className::containsString(const QString & val) { return static_cast<className &>(qx::QxSqlQuery::containsString(val)); } \ 00542 \ 00543 className & className::isEqualTo(const QVariant & val) { return static_cast<className &>(qx::QxSqlQuery::isEqualTo(val)); } \ 00544 className & className::isNotEqualTo(const QVariant & val) { return static_cast<className &>(qx::QxSqlQuery::isNotEqualTo(val)); } \ 00545 className & className::isGreaterThan(const QVariant & val) { return static_cast<className &>(qx::QxSqlQuery::isGreaterThan(val)); } \ 00546 className & className::isGreaterThanOrEqualTo(const QVariant & val) { return static_cast<className &>(qx::QxSqlQuery::isGreaterThanOrEqualTo(val)); } \ 00547 className & className::isLessThan(const QVariant & val) { return static_cast<className &>(qx::QxSqlQuery::isLessThan(val)); } \ 00548 className & className::isLessThanOrEqualTo(const QVariant & val) { return static_cast<className &>(qx::QxSqlQuery::isLessThanOrEqualTo(val)); } \ 00549 \ 00550 className & className::in(const QVariantList & values) { return static_cast<className &>(qx::QxSqlQuery::in(values)); } \ 00551 className & className::in(const QVariant & val1) { return static_cast<className &>(qx::QxSqlQuery::in(val1)); } \ 00552 className & className::in(const QVariant & val1, const QVariant & val2) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2)); } \ 00553 className & className::in(const QVariant & val1, const QVariant & val2, const QVariant & val3) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2, val3)); } \ 00554 className & className::in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2, val3, val4)); } \ 00555 className & className::in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2, val3, val4, val5)); } \ 00556 className & className::in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2, val3, val4, val5, val6)); } \ 00557 className & className::in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2, val3, val4, val5, val6, val7)); } \ 00558 className & className::in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2, val3, val4, val5, val6, val7, val8)); } \ 00559 className & className::in(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8, const QVariant & val9) { return static_cast<className &>(qx::QxSqlQuery::in(val1, val2, val3, val4, val5, val6, val7, val8, val9)); } \ 00560 \ 00561 className & className::notIn(const QVariantList & values) { return static_cast<className &>(qx::QxSqlQuery::notIn(values)); } \ 00562 className & className::notIn(const QVariant & val1) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1)); } \ 00563 className & className::notIn(const QVariant & val1, const QVariant & val2) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2)); } \ 00564 className & className::notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2, val3)); } \ 00565 className & className::notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2, val3, val4)); } \ 00566 className & className::notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2, val3, val4, val5)); } \ 00567 className & className::notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2, val3, val4, val5, val6)); } \ 00568 className & className::notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2, val3, val4, val5, val6, val7)); } \ 00569 className & className::notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2, val3, val4, val5, val6, val7, val8)); } \ 00570 className & className::notIn(const QVariant & val1, const QVariant & val2, const QVariant & val3, const QVariant & val4, const QVariant & val5, const QVariant & val6, const QVariant & val7, const QVariant & val8, const QVariant & val9) { return static_cast<className &>(qx::QxSqlQuery::notIn(val1, val2, val3, val4, val5, val6, val7, val8, val9)); } \ 00571 \ 00572 className & className::in_Select(const QString & sql) { return static_cast<className &>(qx::QxSqlQuery::in_Select(sql)); } \ 00573 className & className::notIn_Select(const QString & sql) { return static_cast<className &>(qx::QxSqlQuery::notIn_Select(sql)); } \ 00574 \ 00575 className & className::isNull() { return static_cast<className &>(qx::QxSqlQuery::isNull()); } \ 00576 className & className::isNotNull() { return static_cast<className &>(qx::QxSqlQuery::isNotNull()); } \ 00577 \ 00578 className & className::isBetween(const QVariant & val1, const QVariant & val2) { return static_cast<className &>(qx::QxSqlQuery::isBetween(val1, val2)); } \ 00579 className & className::isNotBetween(const QVariant & val1, const QVariant & val2) { return static_cast<className &>(qx::QxSqlQuery::isNotBetween(val1, val2)); } \ 00580 \ 00581 className & className::freeText(const QString & text) { return static_cast<className &>(qx::QxSqlQuery::freeText(text)); } 00582 00583 #endif // _QX_SQL_QUERY_H_