summaryrefslogtreecommitdiffstats
path: root/src/sql/doc
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2020-06-11 10:49:50 +0200
committerAndy Shaw <andy.shaw@qt.io>2020-06-22 06:54:16 +0200
commit8ba9d2e0220777bc1a2322eeece7fa9a5c55a96d (patch)
tree9231f5edac1f2a23c9a4b3537ab2d6e22cf5421b /src/sql/doc
parent590ac717a2c073292027111d5c99d68fb17b160c (diff)
Change boundValues() to return a QVariantList
This enables the order of boundValues to be consistent as with a QMap it could have been reordered which can be a problem for positional bindings. [ChangeLog][QtSQL] Changed signature of QSqlQuery::boundValues() to return a QVariantList Fixes: QTBUG-51609 Change-Id: I1c80fa8522fa7352723420b6fc9ec466406315fb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/sql/doc')
-rw-r--r--src/sql/doc/snippets/sqldatabase/sqldatabase.cpp18
-rw-r--r--src/sql/doc/src/qt6-changes.qdoc66
2 files changed, 69 insertions, 15 deletions
diff --git a/src/sql/doc/snippets/sqldatabase/sqldatabase.cpp b/src/sql/doc/snippets/sqldatabase/sqldatabase.cpp
index c28e750b16..001e2ba3b2 100644
--- a/src/sql/doc/snippets/sqldatabase/sqldatabase.cpp
+++ b/src/sql/doc/snippets/sqldatabase/sqldatabase.cpp
@@ -50,7 +50,6 @@
#include <QCoreApplication>
#include <QtSql>
-#include <QMap>
#include <iostream>
using namespace std;
@@ -202,23 +201,12 @@ void QSqlQuery_snippets()
QSqlQuery query;
{
- // examine with named binding
+ // examine with named or positional binding
//! [14]
- QMap<QString, QVariant> sqlIterator(query.boundValues());
- for (auto i = sqlIterator.begin(); i != sqlIterator.end(); ++i) {
- cout << i.key().toUtf8().data() << ": "
- << i.value().toString().toUtf8().data() << "\n";
- }
-//! [14]
- }
-
- {
- // examine with positional binding
-//! [15]
- QList<QVariant> list = query.boundValues().values();
+ QVariantList list = query.boundValues();
for (int i = 0; i < list.size(); ++i)
cout << i << ": " << list.at(i).toString().toUtf8().data() << "\n";
-//! [15]
+//! [14]
}
}
diff --git a/src/sql/doc/src/qt6-changes.qdoc b/src/sql/doc/src/qt6-changes.qdoc
new file mode 100644
index 0000000000..4bde13e0ed
--- /dev/null
+++ b/src/sql/doc/src/qt6-changes.qdoc
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qtsql-changes-qt6.html
+ \title Porting to Qt 6 - Qt Sql
+
+ Qt 6 is a result of the conscious effort to make the framework more
+ efficient and easy to use.
+
+ We try to maintain binary and source compatibility for all the public
+ APIs in each release. But some changes were inevitable in an effort to
+ make Qt a better framework.
+
+ In this topic we summarize those changes in Qt Sql, and provide guidance
+ to handle them.
+
+ \section1 QSqlQuery
+
+ \section2 boundValues() Signature
+
+ The return type for boundValues() has been changed from QMap<QString, QVariant>
+ to a QVariantList. The order can be relied upon so it will be in the order of the
+ binding in the prepared query. Change code like the following:
+
+ \code
+ QMap<QString, QVariant> values = boundValues();
+ int id = values[":id"].value().toInt();
+ \endcode
+
+ \code
+ QList<QVariant> values = boundValues().values();
+ int id = values.at(0).toInt();
+ \endcode
+
+ to:
+
+ \code
+ QList<QVariant> values = boundValues().values();
+ int id = values.at(0).toInt();
+ \endcode
+*/