Akonadi

selectquerybuilder.h
1/*
2 SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef AKONADI_SELECTQUERYBUILDER_H
8#define AKONADI_SELECTQUERYBUILDER_H
9
10#include "storage/datastore.h"
11#include "storage/querybuilder.h"
12
13namespace Akonadi
14{
15namespace Server
16{
17/**
18 Helper class for creating and executing database SELECT queries.
19*/
20template<typename T> class SelectQueryBuilder : public QueryBuilder
21{
22public:
23 /**
24 Creates a new query builder.
25 */
28 {
29 }
30
31 explicit inline SelectQueryBuilder(DataStore *store)
32 : QueryBuilder(store, T::tableName(), Select)
33 {
34 addColumns(T::fullColumnNames());
35 }
36
37 /**
38 Returns the result of this SELECT query.
39 */
41 {
42 return T::extractResult(dataStore(), query());
43 }
44};
45
46} // namespace Server
47} // namespace Akonadi
48
49#endif
This class handles all the database access.
Definition datastore.h:95
Helper class to construct arbitrary SQL queries.
void addColumns(const QStringList &cols)
Adds the given columns to a select query.
QSqlQuery & query()
Returns the query, only valid after exec().
Helper class for creating and executing database SELECT queries.
SelectQueryBuilder()
Creates a new query builder.
QList< T > result()
Returns the result of this SELECT query.
Helper integration between Akonadi and Qt.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:13:38 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.