KDb

SqlitePreparedStatement.h
1 /* This file is part of the KDE project
2  Copyright (C) 2005-2016 JarosÅ‚aw Staniek <[email protected]>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18 */
19 
20 #ifndef KDB_SQLITEPREPAREDSTATEMENT_H
21 #define KDB_SQLITEPREPAREDSTATEMENT_H
22 
23 #include "KDbPreparedStatementInterface.h"
24 #include "SqliteConnection_p.h"
25 
26 class KDbField;
27 
28 /*! Implementation of prepared statements for the SQLite driver. */
29 class SqlitePreparedStatement : public KDbPreparedStatementInterface, public SqliteConnectionInternal
30 {
31 public:
32  explicit SqlitePreparedStatement(SqliteConnectionInternal* conn);
33 
34  ~SqlitePreparedStatement() override;
35 
36 protected:
37  bool prepare(const KDbEscapedString& sql) override;
38 
39  Q_REQUIRED_RESULT QSharedPointer<KDbSqlResult> execute(
41  const KDbField::List &selectFieldList, KDbFieldList *insertFieldList,
42  const KDbPreparedStatementParameters &parameters) override;
43 
44  bool bindValue(KDbField *field, const QVariant& value, int arg);
45 
46  inline SqliteSqlResult *sqlResult() { return static_cast<SqliteSqlResult*>(m_sqlResult.data()); }
47 
48  QSharedPointer<KDbSqlResult> m_sqlResult;
49 private:
50  Q_DISABLE_COPY(SqlitePreparedStatement)
51 };
52 
53 #endif
bool prepare(const KDbEscapedString &sql) override
T * data() const const
QSharedPointer< KDbSqlResult > execute(KDbPreparedStatement::Type type, const KDbField::List &selectFieldList, KDbFieldList *insertFieldList, const KDbPreparedStatementParameters &parameters) override
For implementation, executes the prepared statement Type of statement is specified by the type parame...
Specialized string for escaping.
bool bindValue(KDbField *field, const QVariant &value, int arg)
Type
Defines type of the prepared statement.
Prepared statement interface for backend-dependent implementations.
Meta-data for a field.
Definition: KDbField.h:71
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sat Jun 25 2022 06:21:34 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.