From 00b961c37f82977615ab9c4d03e185229cc55154 Mon Sep 17 00:00:00 2001 From: Casper van Donderen Date: Fri, 27 Apr 2012 15:18:27 +0200 Subject: Doc: Fix most qdoc errors in QtSql. - Move 2 images from qtdoc. - Add "make docs" command for qtsql - Fix qdoc command usage errors. Change-Id: Id2f0548d09ed8f77b2317863d443c19d1cccdd83 Reviewed-by: Lars Knoll --- doc/src/snippets/code/doc_src_qtsql.cpp | 43 -- doc/src/snippets/code/doc_src_qtsql.pro | 3 - doc/src/snippets/code/doc_src_sql-driver.cpp | 82 --- doc/src/snippets/code/doc_src_sql-driver.qdoc | 235 --------- .../snippets/code/src_sql_kernel_qsqldatabase.cpp | 135 ----- .../snippets/code/src_sql_kernel_qsqldriver.cpp | 64 --- doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp | 46 -- doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp | 80 --- .../snippets/code/src_sql_kernel_qsqlresult.cpp | 85 ---- .../code/src_sql_models_qsqlquerymodel.cpp | 52 -- doc/src/snippets/sqldatabase/sqldatabase.cpp | 559 --------------------- 11 files changed, 1384 deletions(-) delete mode 100644 doc/src/snippets/code/doc_src_qtsql.cpp delete mode 100644 doc/src/snippets/code/doc_src_qtsql.pro delete mode 100644 doc/src/snippets/code/doc_src_sql-driver.cpp delete mode 100644 doc/src/snippets/code/doc_src_sql-driver.qdoc delete mode 100644 doc/src/snippets/code/src_sql_kernel_qsqldatabase.cpp delete mode 100644 doc/src/snippets/code/src_sql_kernel_qsqldriver.cpp delete mode 100644 doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp delete mode 100644 doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp delete mode 100644 doc/src/snippets/code/src_sql_kernel_qsqlresult.cpp delete mode 100644 doc/src/snippets/code/src_sql_models_qsqlquerymodel.cpp delete mode 100644 doc/src/snippets/sqldatabase/sqldatabase.cpp (limited to 'doc/src/snippets') 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 -//! [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- ... Disable SQL entirely. --qt-sql- ... Enable a SQL in the Qt Library, by default - none are turned on. --plugin-sql- Enable SQL as a plugin to be linked to - at run time. - - Possible values for : - [ 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 \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+=/sqllib/include" "LIBS+=/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); -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(v.data()); - if (handle != 0) { // check that it is not NULL - ... - } -} -//! [0] - - -//! [1] -if (v.typeName() == "PGconn*") { - PGconn *handle = *static_cast(v.data()); - if (handle != 0) ... -} - -if (v.typeName() == "MYSQL*") { - MYSQL *handle = *static_cast(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(v.data()); - if (handle != 0) { // check that it is not NULL - ... - } -} -//! [1] - - -//! [2] -if (v.typeName() == "PGresult*") { - PGresult *handle = *static_cast(v.data()); - if (handle != 0) ... -} - -if (v.typeName() == "MYSQL_STMT*") { - MYSQL_STMT *handle = *static_cast(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 -#include - -#include - -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 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 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); -} -- cgit v1.2.3