Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qsqlresult.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSQLRESULT_H
5#define QSQLRESULT_H
6
7#include <QtSql/qtsqlglobal.h>
8#include <QtCore/qvariant.h>
9#include <QtCore/qcontainerfwd.h>
10
12
13
14class QString;
15class QSqlRecord;
16class QVariant;
17class QSqlDriver;
18class QSqlError;
20
21class Q_SQL_EXPORT QSqlResult
22{
23 Q_DECLARE_PRIVATE(QSqlResult)
24 friend class QSqlQuery;
26
27public:
28 virtual ~QSqlResult();
29 virtual QVariant handle() const;
30
31protected:
34 NamedBinding
35 };
36
37 explicit QSqlResult(const QSqlDriver * db);
39 int at() const;
40 QString lastQuery() const;
41 QSqlError lastError() const;
42 bool isValid() const;
43 bool isActive() const;
44 bool isSelect() const;
45 bool isForwardOnly() const;
46 const QSqlDriver* driver() const;
47 virtual void setAt(int at);
48 virtual void setActive(bool a);
49 virtual void setLastError(const QSqlError& e);
50 virtual void setQuery(const QString& query);
51 virtual void setSelect(bool s);
52 virtual void setForwardOnly(bool forward);
53
54 // prepared query support
55 virtual bool exec();
56 virtual bool prepare(const QString& query);
57 virtual bool savePrepare(const QString& sqlquery);
58 virtual void bindValue(int pos, const QVariant& val, QSql::ParamType type);
59 virtual void bindValue(const QString& placeholder, const QVariant& val,
60 QSql::ParamType type);
61 void addBindValue(const QVariant& val, QSql::ParamType type);
62 QVariant boundValue(const QString& placeholder) const;
63 QVariant boundValue(int pos) const;
64 QSql::ParamType bindValueType(const QString& placeholder) const;
65 QSql::ParamType bindValueType(int pos) const;
66 int boundValueCount() const;
67#if QT_SQL_REMOVED_SINCE(6, 6)
68 QList<QVariant> &boundValues() const;
69#endif
72
73 QString executedQuery() const;
74 QStringList boundValueNames() const;
75 QString boundValueName(int pos) const;
76 void clear();
77 bool hasOutValues() const;
78
79 BindingSyntax bindingSyntax() const;
80
81 virtual QVariant data(int i) = 0;
82 virtual bool isNull(int i) = 0;
83 virtual bool reset(const QString& sqlquery) = 0;
84 virtual bool fetch(int i) = 0;
85 virtual bool fetchNext();
86 virtual bool fetchPrevious();
87 virtual bool fetchFirst() = 0;
88 virtual bool fetchLast() = 0;
89 virtual int size() = 0;
90 virtual int numRowsAffected() = 0;
91 virtual QSqlRecord record() const;
92 virtual QVariant lastInsertId() const;
93
95 virtual void virtual_hook(int id, void *data);
96 virtual bool execBatch(bool arrayBind = false);
97 virtual void detachFromResultSet();
98 virtual void setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy policy);
99 QSql::NumericalPrecisionPolicy numericalPrecisionPolicy() const;
100 void setPositionalBindingEnabled(bool enable);
101 bool isPositionalBindingEnabled() const;
102 virtual bool nextResult();
103 void resetBindCount(); // HACK
104
106
107private:
108 Q_DISABLE_COPY(QSqlResult)
109};
110
112
113#endif // QSQLRESULT_H
bool isActive
The QSqlDriver class is an abstract base class for accessing specific SQL databases.
Definition qsqldriver.h:26
The QSqlError class provides SQL database error information.
Definition qsqlerror.h:17
The QSqlQuery class provides a means of executing and manipulating SQL statements.
Definition qsqlquery.h:24
The QSqlRecord class encapsulates a database record.
Definition qsqlrecord.h:20
The QSqlResult class provides an abstract interface for accessing data from specific SQL databases.
Definition qsqlresult.h:22
virtual bool isNull(int i)=0
Returns true if the field at position index in the current row is null; otherwise returns false.
QVariantList boundValues(QT6_DECL_NEW_OVERLOAD) const
virtual QVariant data(int i)=0
Returns the data for field index in the current row as a QVariant.
BindingSyntax
This enum type specifies the different syntaxes for specifying placeholders in prepared queries.
Definition qsqlresult.h:32
@ PositionalBinding
Definition qsqlresult.h:33
virtual bool fetchLast()=0
Positions the result to the last record (last row) in the result.
virtual bool fetch(int i)=0
Positions the result to an arbitrary (zero-based) row index.
QVariantList & boundValues(QT6_DECL_NEW_OVERLOAD)
virtual int size()=0
Returns the size of the SELECT result, or -1 if it cannot be determined or if the query is not a SELE...
virtual bool fetchFirst()=0
Positions the result to the first record (row 0) in the result.
virtual int numRowsAffected()=0
Returns the number of rows affected by the last query executed, or -1 if it cannot be determined or i...
virtual bool reset(const QString &sqlquery)=0
Sets the result to use the SQL statement query for subsequent data retrieval.
QSqlResultPrivate * d_ptr
Definition qsqlresult.h:105
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qvariant.h:65
b clear()
query setForwardOnly(true)
NumericalPrecisionPolicy
Definition qtsqlglobal.h:43
Combined button and popup list for selecting options.
GLuint64 GLenum void * handle
GLboolean GLboolean GLboolean GLboolean a
[7]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum type
GLboolean enable
GLdouble s
[6]
Definition qopenglext.h:235
GLenum query
GLuint GLfloat * val
#define QT6_DECL_NEW_OVERLOAD
qDebug()<< QUrl("file copy setQuery(copy.query(QUrl::FullyDecoded), QUrl::DecodedMode)
QMimeDatabase db
[0]
MyRecord record(int row) const
[0]
dialog exec()
QAction * at
QSizePolicy policy