summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/snippets')
-rw-r--r--doc/src/snippets/code/doc_src_qtsql.cpp43
-rw-r--r--doc/src/snippets/code/doc_src_qtsql.pro3
-rw-r--r--doc/src/snippets/code/doc_src_sql-driver.cpp82
-rw-r--r--doc/src/snippets/code/doc_src_sql-driver.qdoc235
-rw-r--r--doc/src/snippets/code/src_sql_kernel_qsqldatabase.cpp135
-rw-r--r--doc/src/snippets/code/src_sql_kernel_qsqldriver.cpp64
-rw-r--r--doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp46
-rw-r--r--doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp80
-rw-r--r--doc/src/snippets/code/src_sql_kernel_qsqlresult.cpp85
-rw-r--r--doc/src/snippets/code/src_sql_models_qsqlquerymodel.cpp52
-rw-r--r--doc/src/snippets/sqldatabase/sqldatabase.cpp559
11 files changed, 0 insertions, 1384 deletions
diff --git a/doc/src/snippets/code/doc_src_qtsql.cpp b/doc/src/snippets/code/doc_src_qtsql.cpp
deleted file mode 100644
index 88b80ba710..0000000000
--- a/doc/src/snippets/code/doc_src_qtsql.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-#include <QtSql>
-//! [0]
diff --git a/doc/src/snippets/code/doc_src_qtsql.pro b/doc/src/snippets/code/doc_src_qtsql.pro
deleted file mode 100644
index 1fb8e4dea3..0000000000
--- a/doc/src/snippets/code/doc_src_qtsql.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-#! [1]
-QT += sql
-#! [1]
diff --git a/doc/src/snippets/code/doc_src_sql-driver.cpp b/doc/src/snippets/code/doc_src_sql-driver.cpp
deleted file mode 100644
index 5ad00eae3c..0000000000
--- a/doc/src/snippets/code/doc_src_sql-driver.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [2]
-QSqlQuery q;
-q.exec("call qtestproc (@outval1, @outval2)");
-q.exec("select @outval1, @outval2");
-q.next();
-qDebug() << q.value(0) << q.value(1); // outputs "42" and "43"
-//! [2]
-
-
-//! [10]
-// STORED_PROC uses the return statement or returns multiple result sets
-QSqlQuery query;
-query.setForwardOnly(true);
-query.exec("{call STORED_PROC}");
-//! [10]
-
-
-//! [24]
-db.setHostName("MyServer");
-db.setDatabaseName("C:\\test.gdb");
-//! [24]
-
-
-//! [25]
-// connect to database using the Latin-1 character set
-db.setConnectOptions("ISC_DPB_LC_CTYPE=Latin1");
-db.open();
-//! [25]
-
-
-//! [26]
-QSqlQuery q;
-q.exec("execute procedure my_procedure");
-q.next();
-qDebug() << q.value(0); // outputs the first RETURN/OUT value
-//! [26]
-
-
-//! [31]
-QSqlDatabase: QMYSQL driver not loaded
-QSqlDatabase: available drivers: QMYSQL
-//! [31]
diff --git a/doc/src/snippets/code/doc_src_sql-driver.qdoc b/doc/src/snippets/code/doc_src_sql-driver.qdoc
deleted file mode 100644
index 3fe8d6fbbd..0000000000
--- a/doc/src/snippets/code/doc_src_sql-driver.qdoc
+++ /dev/null
@@ -1,235 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
--no-sql-<driver> ... Disable SQL <driver> entirely.
--qt-sql-<driver> ... Enable a SQL <driver> in the Qt Library, by default
- none are turned on.
--plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
- at run time.
-
- Possible values for <driver>:
- [ db2 ibase mysql oci odbc psql sqlite sqlite2 tds ]
-//! [0]
-
-
-//! [1]
-create procedure qtestproc (OUT param1 INT, OUT param2 INT)
-BEGIN
- set param1 = 42;
- set param2 = 43;
-END
-//! [1]
-
-
-//! [3]
-cd $QTDIR/src/plugins/sqldrivers/mysql
-qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
-make
-//! [3]
-
-
-//! [4]
-cd $QTDIR/src/plugins/sqldrivers/mysql
-make install
-//! [4]
-
-
-//! [5]
-cd %QTDIR%\src\plugins\sqldrivers\mysql
-qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro
-nmake
-//! [5]
-
-
-//! [6]
-cd $QTDIR/src/plugins/sqldrivers/oci
-qmake "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh -lwtc9" oci.pro
-make
-//! [6]
-
-
-//! [7]
-cd $QTDIR/src/plugins/sqldrivers/oci
-qmake "INCLUDEPATH+=/usr/include/oracle/10.1.0.3/client/" "LIBS+=-L/usr/lib/oracle/10.1.0.3/client/lib -lclntsh" oci.pro
-make
-//! [7]
-
-
-//! [8]
-set INCLUDE=%INCLUDE%;c:\oracle\oci\include
-set LIB=%LIB%;c:\oracle\oci\lib\msvc
-cd %QTDIR%\src\plugins\sqldrivers\oci
-qmake oci.pro
-nmake
-//! [8]
-
-
-//! [9]
-set PATH=%PATH%;c:\oracle\bin
-//! [9]
-
-
-//! [11]
-cd $QTDIR/src/plugins/sqldrivers/odbc
-qmake "INCLUDEPATH+=/usr/local/unixODBC/include" "LIBS+=-L/usr/local/unixODBC/lib -lodbc"
-make
-//! [11]
-
-
-//! [12]
-cd %QTDIR%\src\plugins\sqldrivers\odbc
-qmake odbc.pro
-nmake
-//! [12]
-
-
-//! [13]
-cd $QTDIR/src/plugins/sqldrivers/psql
-qmake "INCLUDEPATH+=/usr/include/pgsql" "LIBS+=-L/usr/lib -lpq" psql.pro
-make
-//! [13]
-
-
-//! [14]
-cd $QTDIR/src/plugins/sqldrivers/psql
-make install
-//! [14]
-
-
-//! [15]
-cd %QTDIR%\src\plugins\sqldrivers\psql
-qmake "INCLUDEPATH+=C:\psql\include" "LIBS+=C:\psql\lib\ms\libpq.lib" psql.pro
-nmake
-//! [15]
-
-
-//! [16]
-cd $QTDIR/src/plugins/sqldrivers/tds
-qmake "INCLUDEPATH=$SYBASE/include" "LIBS=-L$SYBASE/lib -lsybdb"
-make
-//! [16]
-
-
-//! [17]
-cd %QTDIR%\src\plugins\sqldrivers\tds
-qmake "LIBS+=NTWDBLIB.LIB" tds.pro
-nmake
-//! [17]
-
-
-//! [18]
-cd $QTDIR/src/plugins/sqldrivers/db2
-qmake "INCLUDEPATH+=$DB2DIR/include" "LIBS+=-L$DB2DIR/lib -ldb2"
-make
-//! [18]
-
-
-//! [19]
-cd $QTDIR/src/plugins/sqldrivers/db2
-make install
-//! [19]
-
-
-//! [20]
-cd %QTDIR%\src\plugins\sqldrivers\db2
-qmake "INCLUDEPATH+=<DB2 home>/sqllib/include" "LIBS+=<DB2 home>/sqllib/lib/db2cli.lib"
-nmake
-//! [20]
-
-
-//! [21]
-cd $QTDIR/src/plugins/sqldrivers/sqlite
-qmake "INCLUDEPATH+=$SQLITE/include" "LIBS+=-L$SQLITE/lib -lsqlite"
-make
-//! [21]
-
-
-//! [22]
-cd $QTDIR/src/plugins/sqldrivers/sqlite
-make install
-//! [22]
-
-
-//! [23]
-cd %QTDIR%\src\plugins\sqldrivers\sqlite
-qmake "INCLUDEPATH+=C:\SQLITE\INCLUDE" "LIBS+=C:\SQLITE\LIB\SQLITE3.LIB" sqlite.pro
-nmake
-//! [23]
-
-
-//! [27]
-cd $QTDIR/src/plugins/sqldrivers/ibase
-qmake "INCLUDEPATH+=/opt/interbase/include" "LIBS+=-L/opt/interbase/lib" ibase.pro
-make
-//! [27]
-
-
-//! [28]
-cd $QTDIR/src/plugins/sqldrivers/ibase
-qmake "INCLUDEPATH+=/opt/interbase/include" "LIBS+=-L/opt/interbase/lib -lfbclient" ibase.pro
-make
-//! [28]
-
-
-//! [29]
-cd %QTDIR%\src\plugins\sqldrivers\ibase
-qmake "INCLUDEPATH+=C:\interbase\include" ibase.pro
-nmake
-//! [29]
-
-
-//! [30]
-cd %QTDIR%\src\plugins\sqldrivers\ibase
-qmake "INCLUDEPATH+=C:\interbase\include" "LIBS+=-lfbclient" ibase.pro
-nmake
-//! [30]
-
-
-//! [32]
-configure -I /usr/include/oracle/10.1.0.3/client -L /usr/lib/oracle/10.1.0.3/client/lib -R /usr/lib/oracle/10.1.0.3/client/lib -lclntsh -lnnz10
-make
-//! [32]
-
-//! [33]
-cd $QTDIR/src/plugins/sqldrivers/oci
-qmake "INCLUDEPATH+=/usr/include/oracle/10.1.0.3/client" "LIBS+=-L/usr/lib/oracle/10.1.0.3/client/lib -Wl,-rpath,/usr/lib/oracle/10.1.0.3/client/lib -lclntsh -lnnz10" oci.pro
-make
-//! [33]
diff --git a/doc/src/snippets/code/src_sql_kernel_qsqldatabase.cpp b/doc/src/snippets/code/src_sql_kernel_qsqldatabase.cpp
deleted file mode 100644
index d181b6eb14..0000000000
--- a/doc/src/snippets/code/src_sql_kernel_qsqldatabase.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-// WRONG
-QSqlDatabase db = QSqlDatabase::database("sales");
-QSqlQuery query("SELECT NAME, DOB FROM EMPLOYEES", db);
-QSqlDatabase::removeDatabase("sales"); // will output a warning
-
-// "db" is now a dangling invalid database connection,
-// "query" contains an invalid result set
-//! [0]
-
-
-//! [1]
-{
- QSqlDatabase db = QSqlDatabase::database("sales");
- QSqlQuery query("SELECT NAME, DOB FROM EMPLOYEES", db);
-}
-// Both "db" and "query" are destroyed because they are out of scope
-QSqlDatabase::removeDatabase("sales"); // correct
-//! [1]
-
-
-//! [2]
-QSqlDatabase::registerSqlDriver("MYDRIVER",
- new QSqlDriverCreator<MyDatabaseDriver>);
-QSqlDatabase db = QSqlDatabase::addDatabase("MYDRIVER");
-//! [2]
-
-
-//! [3]
-...
-db = QSqlDatabase::addDatabase("QODBC");
-db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb");
-if (db.open()) {
- // success!
-}
-...
-//! [3]
-
-
-//! [4]
-...
-// MySQL connection
-db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1"); // use an SSL connection to the server
-if (!db.open()) {
- db.setConnectOptions(); // clears the connect option string
- ...
-}
-...
-// PostgreSQL connection
-db.setConnectOptions("requiressl=1"); // enable PostgreSQL SSL connections
-if (!db.open()) {
- db.setConnectOptions(); // clear options
- ...
-}
-...
-// ODBC connection
-db.setConnectOptions("SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY;SQL_ATTR_TRACE=SQL_OPT_TRACE_ON"); // set ODBC options
-if (!db.open()) {
- db.setConnectOptions(); // don't try to set this option
- ...
-}
-//! [4]
-
-
-//! [5]
-#include "qtdir/src/sql/drivers/psql/qsql_psql.cpp"
-//! [5]
-
-
-//! [6]
-PGconn *con = PQconnectdb("host=server user=bart password=simpson dbname=springfield");
-QPSQLDriver *drv = new QPSQLDriver(con);
-QSqlDatabase db = QSqlDatabase::addDatabase(drv); // becomes the new default connection
-QSqlQuery query;
-query.exec("SELECT NAME, ID FROM STAFF");
-...
-//! [6]
-
-
-//! [7]
-unix:LIBS += -lpq
-win32:LIBS += libpqdll.lib
-//! [7]
-
-
-//! [8]
-QSqlDatabase db;
-qDebug() << db.isValid(); // Returns false
-
-db = QSqlDatabase::database("sales");
-qDebug() << db.isValid(); // Returns true if "sales" connection exists
-
-QSqlDatabase::removeDatabase("sales");
-qDebug() << db.isValid(); // Returns false
-//! [8]
diff --git a/doc/src/snippets/code/src_sql_kernel_qsqldriver.cpp b/doc/src/snippets/code/src_sql_kernel_qsqldriver.cpp
deleted file mode 100644
index 254a35aba2..0000000000
--- a/doc/src/snippets/code/src_sql_kernel_qsqldriver.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSqlDatabase db = ...;
-QVariant v = db.driver()->handle();
-if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*")==0) {
- // v.data() returns a pointer to the handle
- sqlite3 *handle = *static_cast<sqlite3 **>(v.data());
- if (handle != 0) { // check that it is not NULL
- ...
- }
-}
-//! [0]
-
-
-//! [1]
-if (v.typeName() == "PGconn*") {
- PGconn *handle = *static_cast<PGconn **>(v.data());
- if (handle != 0) ...
-}
-
-if (v.typeName() == "MYSQL*") {
- MYSQL *handle = *static_cast<MYSQL **>(v.data());
- if (handle != 0) ...
-}
-//! [1]
diff --git a/doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp b/doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp
deleted file mode 100644
index 9914206193..0000000000
--- a/doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSqlQueryModel model;
-model.setQuery("select * from myTable");
-if (model.lastError().isValid())
- qDebug() << model.lastError();
-//! [0]
diff --git a/doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp b/doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp
deleted file mode 100644
index c540f8bd59..0000000000
--- a/doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-SELECT forename, surname FROM people;
-//! [0]
-
-
-//! [1]
-QSqlQuery q("select * from employees");
-QSqlRecord rec = q.record();
-
-qDebug() << "Number of columns: " << rec.count();
-
-int nameCol = rec.indexOf("name"); // index of the field "name"
-while (q.next())
- qDebug() << q.value(nameCol).toString(); // output all names
-//! [1]
-
-
-//! [2]
-QSqlQuery q;
-q.prepare("insert into myTable values (?, ?)");
-
-QVariantList ints;
-ints << 1 << 2 << 3 << 4;
-q.addBindValue(ints);
-
-QVariantList names;
-names << "Harald" << "Boris" << "Trond" << QVariant(QVariant::String);
-q.addBindValue(names);
-
-if (!q.execBatch())
- qDebug() << q.lastError();
-//! [2]
-
-
-//! [3]
-1 Harald
-2 Boris
-3 Trond
-4 NULL
-//! [3]
diff --git a/doc/src/snippets/code/src_sql_kernel_qsqlresult.cpp b/doc/src/snippets/code/src_sql_kernel_qsqlresult.cpp
deleted file mode 100644
index 773af85ab9..0000000000
--- a/doc/src/snippets/code/src_sql_kernel_qsqlresult.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-QSqlQuery q;
-q.prepare("insert into test (i1, i2, s) values (?, ?, ?)");
-
-QVariantList col1;
-QVariantList col2;
-QVariantList col3;
-
-col1 << 1 << 3;
-col2 << 2 << 4;
-col3 << "hello" << "world";
-
-q.bindValue(0, col1);
-q.bindValue(1, col2);
-q.bindValue(2, col3);
-
-if (!q.execBatch())
- qDebug() << q.lastError();
-//! [0]
-
-
-//! [1]
-QSqlQuery query = ...
-QVariant v = query.result()->handle();
-if (v.isValid() && qstrcmp(v.typeName(), "sqlite3_stmt*")) {
- // v.data() returns a pointer to the handle
- sqlite3_stmt *handle = *static_cast<sqlite3_stmt **>(v.data());
- if (handle != 0) { // check that it is not NULL
- ...
- }
-}
-//! [1]
-
-
-//! [2]
-if (v.typeName() == "PGresult*") {
- PGresult *handle = *static_cast<PGresult **>(v.data());
- if (handle != 0) ...
-}
-
-if (v.typeName() == "MYSQL_STMT*") {
- MYSQL_STMT *handle = *static_cast<MYSQL_STMT **>(v.data());
- if (handle != 0) ...
-}
-//! [2]
diff --git a/doc/src/snippets/code/src_sql_models_qsqlquerymodel.cpp b/doc/src/snippets/code/src_sql_models_qsqlquerymodel.cpp
deleted file mode 100644
index 71c96b0207..0000000000
--- a/doc/src/snippets/code/src_sql_models_qsqlquerymodel.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-while (myModel->canFetchMore())
- myModel->fetchMore();
-//! [0]
-
-
-//! [1]
-QSqlQueryModel model;
-model.setQuery("select * from MyTable");
-if (model.lastError().isValid())
- qDebug() << model.lastError();
-//! [1]
diff --git a/doc/src/snippets/sqldatabase/sqldatabase.cpp b/doc/src/snippets/sqldatabase/sqldatabase.cpp
deleted file mode 100644
index 81f806309a..0000000000
--- a/doc/src/snippets/sqldatabase/sqldatabase.cpp
+++ /dev/null
@@ -1,559 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <QtSql>
-
-#include <iostream>
-
-using namespace std;
-
-QString tr(const char *text)
-{
- return QApplication::translate(text, text);
-}
-
-void QSqlDatabase_snippets()
-{
- {
-//! [0]
- QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
- db.setHostName("acidalia");
- db.setDatabaseName("customdb");
- db.setUserName("mojito");
- db.setPassword("J0a1m8");
- bool ok = db.open();
-//! [0]
- Q_UNUSED(ok);
- }
-
- {
-//! [1]
- QSqlDatabase db = QSqlDatabase::database();
-//! [1]
- }
-}
-
-void QSqlField_snippets()
-{
-#if 0
- {
-//! [2]
- QSqlField field("age", QVariant::Int);
- field.setValue(QPixmap()); // WRONG
-//! [2]
- }
-#endif
-
- {
-//! [3]
- QSqlField field("age", QVariant::Int);
- field.setValue(QString("123")); // casts QString to int
-//! [3]
- }
-
- {
-//! [4]
- QSqlQuery query;
-//! [4] //! [5]
- QSqlRecord record = query.record();
-//! [5] //! [6]
- QSqlField field = record.field("country");
-//! [6]
- }
-}
-
-void doSomething(const QString &)
-{
-}
-
-void QSqlQuery_snippets()
-{
- {
- // typical loop
-//! [7]
- QSqlQuery query("SELECT country FROM artist");
- while (query.next()) {
- QString country = query.value(0).toString();
- doSomething(country);
- }
-//! [7]
- }
-
- {
- // field index lookup
-//! [8]
- QSqlQuery query("SELECT * FROM artist");
- int fieldNo = query.record().indexOf("country");
- while (query.next()) {
- QString country = query.value(fieldNo).toString();
- doSomething(country);
- }
-//! [8]
- }
-
- {
- // named with named
-//! [9]
- QSqlQuery query;
- query.prepare("INSERT INTO person (id, forename, surname) "
- "VALUES (:id, :forename, :surname)");
- query.bindValue(":id", 1001);
- query.bindValue(":forename", "Bart");
- query.bindValue(":surname", "Simpson");
- query.exec();
-//! [9]
- }
-
- {
- // positional with named
-//! [10]
- QSqlQuery query;
- query.prepare("INSERT INTO person (id, forename, surname) "
- "VALUES (:id, :forename, :surname)");
- query.bindValue(0, 1001);
- query.bindValue(1, "Bart");
- query.bindValue(2, "Simpson");
- query.exec();
-//! [10]
- }
-
- {
- // positional 1
-//! [11]
- QSqlQuery query;
- query.prepare("INSERT INTO person (id, forename, surname) "
- "VALUES (?, ?, ?)");
- query.bindValue(0, 1001);
- query.bindValue(1, "Bart");
- query.bindValue(2, "Simpson");
- query.exec();
-//! [11]
- }
-
- {
- // positional 2
-//! [12]
- QSqlQuery query;
- query.prepare("INSERT INTO person (id, forename, surname) "
- "VALUES (?, ?, ?)");
- query.addBindValue(1001);
- query.addBindValue("Bart");
- query.addBindValue("Simpson");
- query.exec();
-//! [12]
- }
-
- {
- // stored
-//! [13]
- QSqlQuery query;
- query.prepare("CALL AsciiToInt(?, ?)");
- query.bindValue(0, "A");
- query.bindValue(1, 0, QSql::Out);
- query.exec();
- int i = query.boundValue(1).toInt(); // i is 65
-//! [13]
- Q_UNUSED(i);
- }
-
- QSqlQuery query;
-
- {
- // examine with named binding
-//! [14]
- QMapIterator<QString, QVariant> i(query.boundValues());
- while (i.hasNext()) {
- i.next();
- cout << i.key().toAscii().data() << ": "
- << i.value().toString().toAscii().data() << endl;
- }
-//! [14]
- }
-
- {
- // examine with positional binding
-//! [15]
- QList<QVariant> list = query.boundValues().values();
- for (int i = 0; i < list.size(); ++i)
- cout << i << ": " << list.at(i).toString().toAscii().data() << endl;
-//! [15]
- }
-}
-
-void QSqlQueryModel_snippets()
-{
- {
-//! [16]
- QSqlQueryModel *model = new QSqlQueryModel;
- model->setQuery("SELECT name, salary FROM employee");
- model->setHeaderData(0, Qt::Horizontal, tr("Name"));
- model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
-
-//! [17]
- QTableView *view = new QTableView;
-//! [17] //! [18]
- view->setModel(model);
-//! [18] //! [19]
- view->show();
-//! [16] //! [19] //! [20]
- view->setEditTriggers(QAbstractItemView::NoEditTriggers);
-//! [20]
- }
-
-//! [21]
- QSqlQueryModel model;
- model.setQuery("SELECT * FROM employee");
- int salary = model.record(4).value("salary").toInt();
-//! [21]
- Q_UNUSED(salary);
-
- {
-//! [22]
- int salary = model.data(model.index(4, 2)).toInt();
-//! [22]
- Q_UNUSED(salary);
- }
-
- for (int row = 0; row < model.rowCount(); ++row) {
- for (int col = 0; col < model.columnCount(); ++col) {
- qDebug() << model.data(model.index(row, col));
- }
- }
-}
-
-class MyModel : public QSqlQueryModel
-{
-public:
- QVariant data(const QModelIndex &item, int role) const;
-
- int m_specialColumnNo;
-};
-
-//! [23]
-QVariant MyModel::data(const QModelIndex &item, int role) const
-{
- if (item.column() == m_specialColumnNo) {
- // handle column separately
- }
- return QSqlQueryModel::data(item, role);
-}
-//! [23]
-
-void QSqlTableModel_snippets()
-{
-//! [24]
- QSqlTableModel *model = new QSqlTableModel(parentObject, database);
- model->setTable("employee");
- model->setEditStrategy(QSqlTableModel::OnManualSubmit);
- model->select();
- model->setHeaderData(0, Qt::Horizontal, tr("Name"));
- model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
-
- QTableView *view = new QTableView;
- view->setModel(model);
- view->hideColumn(0); // don't show the ID
- view->show();
-//! [24]
-
- {
-//! [25]
- QSqlTableModel model;
- model.setTable("employee");
- QString name = model.record(4).value("name").toString();
-//! [25]
- }
-}
-
-void sql_intro_snippets()
-{
- {
-//! [26]
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- db.setHostName("bigblue");
- db.setDatabaseName("flightdb");
- db.setUserName("acarlson");
- db.setPassword("1uTbSbAs");
- bool ok = db.open();
-//! [26]
- Q_UNUSED(ok);
- }
-
- {
-//! [27]
- QSqlDatabase firstDB = QSqlDatabase::addDatabase("QMYSQL", "first");
- QSqlDatabase secondDB = QSqlDatabase::addDatabase("QMYSQL", "second");
-//! [27]
- }
-
- {
-//! [28]
- QSqlDatabase defaultDB = QSqlDatabase::database();
-//! [28] //! [29]
- QSqlDatabase firstDB = QSqlDatabase::database("first");
-//! [29] //! [30]
- QSqlDatabase secondDB = QSqlDatabase::database("second");
-//! [30]
- }
-
- {
- // SELECT1
-//! [31]
- QSqlQuery query;
- query.exec("SELECT name, salary FROM employee WHERE salary > 50000");
-//! [31]
-
-//! [32]
- while (query.next()) {
- QString name = query.value(0).toString();
- int salary = query.value(1).toInt();
- qDebug() << name << salary;
- }
-//! [32]
- }
-
- {
- // FEATURE
-//! [33]
- QSqlQuery query;
- int numRows;
- query.exec("SELECT name, salary FROM employee WHERE salary > 50000");
-
- QSqlDatabase defaultDB = QSqlDatabase::database();
- if (defaultDB.driver()->hasFeature(QSqlDriver::QuerySize)) {
- numRows = query.size();
- } else {
- // this can be very slow
- query.last();
- numRows = query.at() + 1;
- }
-//! [33]
- }
-
- {
- // INSERT1
-//! [34]
- QSqlQuery query;
- query.exec("INSERT INTO employee (id, name, salary) "
- "VALUES (1001, 'Thad Beaumont', 65000)");
-//! [34]
- }
-
- {
- // NAMED BINDING
-//! [35]
- QSqlQuery query;
- query.prepare("INSERT INTO employee (id, name, salary) "
- "VALUES (:id, :name, :salary)");
- query.bindValue(":id", 1001);
- query.bindValue(":name", "Thad Beaumont");
- query.bindValue(":salary", 65000);
- query.exec();
-//! [35]
- }
-
- {
- // POSITIONAL BINDING
-//! [36]
- QSqlQuery query;
- query.prepare("INSERT INTO employee (id, name, salary) "
- "VALUES (?, ?, ?)");
- query.addBindValue(1001);
- query.addBindValue("Thad Beaumont");
- query.addBindValue(65000);
- query.exec();
-//! [36]
- }
-
- {
- // UPDATE1
-//! [37]
- QSqlQuery query;
- query.exec("UPDATE employee SET salary = 70000 WHERE id = 1003");
-//! [37]
- }
-
- {
- // DELETE1
-//! [38]
- QSqlQuery query;
- query.exec("DELETE FROM employee WHERE id = 1007");
-//! [38]
- }
-
- {
- // TRANSACTION
-//! [39]
- QSqlDatabase::database().transaction();
- QSqlQuery query;
- query.exec("SELECT id FROM employee WHERE name = 'Torild Halvorsen'");
- if (query.next()) {
- int employeeId = query.value(0).toInt();
- query.exec("INSERT INTO project (id, name, ownerid) "
- "VALUES (201, 'Manhattan Project', "
- + QString::number(employeeId) + ')');
- }
- QSqlDatabase::database().commit();
-//! [39]
- }
-
- {
- // SQLQUERYMODEL1
-//! [40]
- QSqlQueryModel model;
- model.setQuery("SELECT * FROM employee");
-
- for (int i = 0; i < model.rowCount(); ++i) {
- int id = model.record(i).value("id").toInt();
- QString name = model.record(i).value("name").toString();
- qDebug() << id << name;
- }
-//! [40]
- }
-
- {
- // SQLTABLEMODEL1
-//! [41]
- QSqlTableModel model;
- model.setTable("employee");
- model.setFilter("salary > 50000");
- model.setSort(2, Qt::DescendingOrder);
- model.select();
-
- for (int i = 0; i < model.rowCount(); ++i) {
- QString name = model.record(i).value("name").toString();
- int salary = model.record(i).value("salary").toInt();
- qDebug() << name << salary;
- }
-//! [41]
- }
-
- {
- // SQLTABLEMODEL2
- QSqlTableModel model;
- model.setTable("employee");
-
-//! [42]
- for (int i = 0; i < model.rowCount(); ++i) {
- QSqlRecord record = model.record(i);
- double salary = record.value("salary").toInt();
- salary *= 1.1;
- record.setValue("salary", salary);
- model.setRecord(i, record);
- }
- model.submitAll();
-//! [42]
-
- // SQLTABLEMODEL3
- int row = 1;
- int column = 2;
-//! [43]
- model.setData(model.index(row, column), 75000);
- model.submitAll();
-//! [43]
-
- // SQLTABLEMODEL4
-//! [44]
- model.insertRows(row, 1);
- model.setData(model.index(row, 0), 1013);
- model.setData(model.index(row, 1), "Peter Gordon");
- model.setData(model.index(row, 2), 68500);
- model.submitAll();
-//! [44]
-
-//! [45]
- model.removeRows(row, 5);
-//! [45] //! [46]
- model.submitAll();
-//! [46]
- }
-}
-
-//! [47]
-class XyzResult : public QSqlResult
-{
-public:
- XyzResult(const QSqlDriver *driver)
- : QSqlResult(driver) {}
- ~XyzResult() {}
-
-protected:
- QVariant data(int /* index */) { return QVariant(); }
- bool isNull(int /* index */) { return false; }
- bool reset(const QString & /* query */) { return false; }
- bool fetch(int /* index */) { return false; }
- bool fetchFirst() { return false; }
- bool fetchLast() { return false; }
- int size() { return 0; }
- int numRowsAffected() { return 0; }
- QSqlRecord record() const { return QSqlRecord(); }
-};
-//! [47]
-
-//! [48]
-class XyzDriver : public QSqlDriver
-{
-public:
- XyzDriver() {}
- ~XyzDriver() {}
-
- bool hasFeature(DriverFeature /* feature */) const { return false; }
- bool open(const QString & /* db */, const QString & /* user */,
- const QString & /* password */, const QString & /* host */,
- int /* port */, const QString & /* options */)
- { return false; }
- void close() {}
- QSqlResult *createResult() const { return new XyzResult(this); }
-};
-//! [48]
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- QSqlDatabase_snippets();
- QSqlField_snippets();
- QSqlQuery_snippets();
- QSqlQueryModel_snippets();
- QSqlTableModel_snippets();
-
- XyzDriver driver;
- XyzResult result(&driver);
-}