// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only //! [0] [...] Database options: -sql- ........ Enable SQL plugin. Supported drivers: db2 ibase mysql oci odbc psql sqlite [all auto] -sqlite .............. Select used sqlite [system/qt] [...] //! [0] //! [1] create procedure qtestproc (OUT param1 INT, OUT param2 INT) BEGIN set param1 = 42; set param2 = 43; END //! [1] //! [3] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient." cmake --build . cmake --install . //! [3] //! [5] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DMySQL_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib" cmake --build . cmake --install . //! [5] //! [7] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DOracle_INCLUDE_DIR="/usr/include/oracle/21/client64" -DOracle_LIBRARY="/usr/lib/oracle/21/client64/lib/libclntsh." cmake --build . cmake --install . //! [7] //! [8] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DOracle_INCLUDE_DIR="C:\oracle\sdk\include" -DOracle_LIBRARY="C:\oracle\oci.lib" cmake --build . cmake --install . //! [8] //! [9] set PATH=%PATH%;C:\oracle //! [9] //! [11] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DODBC_INCLUDE_DIR="/usr/local/unixODBC/include" -DODBC_LIBRARY="/usr/local/unixODBC/lib/libodbc." cmake --build . cmake --install . //! [11] //! [12] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ cmake --build . cmake --install . //! [12] //! [13] mkdir build-psql-driver cd build-psql-driver qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers-DCMAKE_INSTALL_PREFIX=/ -DCMAKE_INCLUDE_PATH="/usr/local/pgsql/include" -DCMAKE_LIBRARY_PATH="/usr/local/pgsql/lib" cmake --build . cmake --install . //! [13] //! [15] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DCMAKE_INCLUDE_PATH="C:\pgsql\include" -DCMAKE_LIBRARY_PATH="C:\pgsql\lib" cmake --build . cmake --install . //! [15] //! [18] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DDB2_INCLUDE_DIR="/usr/local/db2/include" -DDB2_LIBRARY="/usr/local/db2/lib/libdb2." cmake --build . cmake --install . //! [18] //! [20] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DDB2_INCLUDE_DIR="C:\db2\include" -DDB2_LIBRARY="C:\db2\lib\db2.lib" cmake --build . cmake --install . //! [20] //! [21] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DFEATURE_system_sqlite=ON -DCMAKE_INCLUDE_PATH="$SQLITE/include" -DCMAKE_LIBRARY_PATH="$SQLITE/lib" cmake --build . cmake --install . //! [21] //! [23] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DFEATURE_system_sqlite=ON -DCMAKE_INCLUDE_PATH="C:\SQLITE\include" -DCMAKE_LIBRARY_PATH="C:\SQLITE\lib" cmake --build . cmake --install . //! [23] //! [27] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DInterbase_INCLUDE_DIR="/opt/interbase/include" -DInterbase_LIBRARY="/opt/interbase/lib/libgds." cmake --build . cmake --install . //! [27] //! [28] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja /qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/ -DInterbase_INCLUDE_DIR="/opt/interbase/include" -DInterbase_LIBRARY="/opt/interbase/lib/libfbclient." cmake --build . cmake --install . //! [28] //! [29] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DInterbase_INCLUDE_DIR="C:\interbase\include" -DInterbase_LIBRARY="C:\interbase\gds.lib" cmake --build . cmake --install . //! [29] //! [30] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DInterbase_INCLUDE_DIR="C:\interbase\include" -DInterbase_LIBRARY="C:\interbase\lib\fbclient_ms.lib" cmake --build . cmake --install . //! [30] //! [31] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DMimer_INCLUDE_DIR="/usr/include" -DMimer_LIBRARIES="/usr/lib/libmimer.so" cmake --build . cmake --install . //! [31] //! [32] mkdir build-sqldrivers cd build-sqldrivers qt-cmake -G Ninja \Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=\ -DMimer_INCLUDE_DIR="C:\Program Files\Mimer SQL Experience 11.0\dev\include" -DMimer_LIBRARIES="C:\Program Files\Mimer SQL Experience 11.0\dev\lib\amd64\mimapi64.lib|C:\Program Files\Mimer SQL Experience 11.0\dev\lib\x86\mimapi32.lib" cmake --build . cmake --install . //! [32] //! [35] QSqlDatabase: QPSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMARIADB QODBC QPSQL Could not create database object //! [35] //! [38] QPSQLDriver::getResult: Query results lost - probably discarded on executing another SQL query. //! [38] //! [39] CREATE TABLE "testTable" ("id" INTEGER); //! [39] //! [40] QString tableString("testTable"); QSqlQuery q; // Create table query is not quoted, therefore it is mapped to lower case q.exec(QString("CREATE TABLE %1 (id INTEGER)").arg(tableString)); // Call toLower() on the string so that it can be matched QSqlRecord rec = database.record(tableString.toLower()); //! [40] //! [41] C:\Qt\6.0.0\mingw81_64\bin\qt-cmake -G Ninja C:\Qt\6.0.0\Src\qtbase\src\plugins\sqldrivers -DMySQL_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="C:\Qt\6.0.0\mingw81_64" Configure summary: Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no Mimer SQL .............................. yes MySql .................................. yes OCI (Oracle) ........................... no ODBC ................................... yes PostgreSQL ............................. no SQLite ................................. yes Using system provided SQLite ......... no -- Configuring done -- Generating done -- Build files have been written to: C:/build-qt6-sqldrivers //! [41] //! [42] C:\Qt\6.0.0\Src\configure.bat -sql-mysql -- -DMySQL_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib" Configure summary: ... Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no Mimer SQL .............................. yes MySql .................................. yes OCI (Oracle) ........................... no ODBC ................................... yes PostgreSQL ............................. no SQLite ................................. yes Using system provided SQLite ......... no ... //! [42] //! [43] C:\Qt\6.0.0\Src\configure.bat -sql-mysql -- -DCMAKE_INCLUDE_PATH="C:\mysql-8.0.22-winx64\include" -DCMAKE_LIBRARY_PATH="C:\mysql-8.0.22-winx64\lib" Configure summary: ... Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no Mimer SQL .............................. yes MySql .................................. yes OCI (Oracle) ........................... no ODBC ................................... yes PostgreSQL ............................. no SQLite ................................. yes Using system provided SQLite ......... no ... //! [43] //! [44] create procedure inout_proc (INOUT param1 INT, OUT param2 INT) BEGIN set param1 = param1 * 2; set param2 = param1 * param1; END //! [44]