diff options
Diffstat (limited to 'src/sql/doc/snippets/code/doc_src_sql-driver.cpp')
-rw-r--r-- | src/sql/doc/snippets/code/doc_src_sql-driver.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/sql/doc/snippets/code/doc_src_sql-driver.cpp b/src/sql/doc/snippets/code/doc_src_sql-driver.cpp index 7983386642..e7dfbd90d5 100644 --- a/src/sql/doc/snippets/code/doc_src_sql-driver.cpp +++ b/src/sql/doc/snippets/code/doc_src_sql-driver.cpp @@ -95,3 +95,35 @@ QSqlDatabase: available drivers: QMYSQL //! [34] column.contains(QRegularExpression("pattern")); //! [34] + + +//! [36] +QSqlQuery query(db); +query.setForwardOnly(true); +query.exec("SELECT * FROM table"); +while (query.next()) { + // Handle changes in every iteration of the loop + QVariant v = query.result()->handle(); + if (qstrcmp(v.typeName(), "PGresult*") == 0) { + PGresult *handle = *static_cast<PGresult **>(v.data()); + if (handle != 0) { + // Do something... + } + } +} +//! [36] + + +//! [37] +int value; +QSqlQuery query1(db); +query1.setForwardOnly(true); +query1.exec("select * FROM table1"); +while (query1.next()) { + value = query1.value(0).toInt(); + if (value == 1) { + QSqlQuery query2(db); + query2.exec("update table2 set col=2"); // WRONG: This will discard all results of + } // query1, and cause the loop to quit +} +//! [37] |