Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
doc_src_sql-driver.qdoc
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4//! [0]
5[...]
6
7Database options:
8
9 -sql-<driver> ........ Enable SQL <driver> plugin. Supported drivers:
10 db2 ibase mysql oci odbc psql sqlite
11 [all auto]
12 -sqlite .............. Select used sqlite [system/qt]
13
14[...]
15//! [0]
16
17
18//! [1]
19create procedure qtestproc (OUT param1 INT, OUT param2 INT)
20BEGIN
21 set param1 = 42;
22 set param2 = 43;
23END
24//! [1]
25
26
27//! [3]
28mkdir build-sqldrivers
29cd build-sqldrivers
30qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DMySQL_ROOT="/usr/local/mysql"
31cmake --build .
32cmake --install .
33//! [3]
34
35
36//! [5]
37mkdir build-sqldrivers
38cd build-sqldrivers
39qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DMySQL_ROOT="C:\mysql-8.0.22-winx64"
40cmake --build .
41cmake --install .
42//! [5]
43
44
45//! [7]
46mkdir build-sqldrivers
47cd build-sqldrivers
48qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DOracle_ROOT="/usr/include/oracle/21/client64"
49cmake --build .
50cmake --install .
51//! [7]
52
53
54//! [8]
55mkdir build-sqldrivers
56cd build-sqldrivers
57qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DOracle_ROOT="C:\oracle"
58cmake --build .
59cmake --install .
60//! [8]
61
62
63//! [9]
64set PATH=%PATH%;C:\oracle
65//! [9]
66
67
68//! [11]
69mkdir build-sqldrivers
70cd build-sqldrivers
71qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DODBC_INCLUDE_DIR="/usr/local/unixODBC/include" -DODBC_LIBRARY="/usr/local/unixODBC/lib/libodbc.<so|dylib>"
72cmake --build .
73cmake --install .
74//! [11]
75
76
77//! [12]
78mkdir build-sqldrivers
79cd build-sqldrivers
80qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform>
81cmake --build .
82cmake --install .
83//! [12]
84
85
86//! [13]
87mkdir build-psql-driver
88cd build-psql-driver
89
90qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers-DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DPostgreSQL_ROOT="/usr/local/pgsql"
91cmake --build .
92cmake --install .
93//! [13]
94
95
96//! [15]
97mkdir build-sqldrivers
98cd build-sqldrivers
99qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DPostgreSQL_ROOT="C:\pgsql"
100cmake --build .
101cmake --install .
102//! [15]
103
104
105//! [18]
106mkdir build-sqldrivers
107cd build-sqldrivers
108qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DDB2_ROOT="/usr/local/db2"
109cmake --build .
110cmake --install .
111//! [18]
112
113
114//! [20]
115mkdir build-sqldrivers
116cd build-sqldrivers
117qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DDB2_ROOT="C:\db2"
118cmake --build .
119cmake --install .
120//! [20]
121
122
123//! [21]
124mkdir build-sqldrivers
125cd build-sqldrivers
126qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DFEATURE_system_sqlite=ON -DCMAKE_INCLUDE_PATH="$SQLITE/include" -DCMAKE_LIBRARY_PATH="$SQLITE/lib"
127cmake --build .
128cmake --install .
129//! [21]
130
131
132//! [23]
133mkdir build-sqldrivers
134cd build-sqldrivers
135qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DFEATURE_system_sqlite=ON -DCMAKE_INCLUDE_PATH="C:\SQLITE\include" -DCMAKE_LIBRARY_PATH="C:\SQLITE\lib"
136cmake --build .
137cmake --install .
138//! [23]
139
140
141//! [27]
142mkdir build-sqldrivers
143cd build-sqldrivers
144qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DInterbase_ROOT="/opt/interbase/"
145cmake --build .
146cmake --install .
147//! [27]
148
149
150//! [29]
151mkdir build-sqldrivers
152cd build-sqldrivers
153qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DInterbase_ROOT="C:\interbase"
154cmake --build .
155cmake --install .
156//! [29]
157
158
159//! [31]
160mkdir build-sqldrivers
161cd build-sqldrivers
162
163qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DMimer_INCLUDE_DIR="/usr/include" -DMimer_LIBRARIES="/usr/lib/libmimer.so"
164cmake --build .
165cmake --install .
166//! [31]
167
168//! [32]
169mkdir build-sqldrivers
170cd build-sqldrivers
171
172qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -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"
173cmake --build .
174cmake --install .
175//! [32]
176
177//! [35]
178QSqlDatabase: QPSQL driver not loaded
179QSqlDatabase: available drivers: QSQLITE QMYSQL QMARIADB QODBC QPSQL
180Could not create database object
181//! [35]
182
183
184//! [38]
185QPSQLDriver::getResult: Query results lost - probably discarded on executing another SQL query.
186//! [38]
187
188//! [39]
189CREATE TABLE "testTable" ("id" INTEGER);
190//! [39]
191
192//! [40]
193QString tableString("testTable");
194QSqlQuery q;
195// Create table query is not quoted, therefore it is mapped to lower case
196q.exec(QString("CREATE TABLE %1 (id INTEGER)").arg(tableString));
197// Call toLower() on the string so that it can be matched
198QSqlRecord rec = database.record(tableString.toLower());
199//! [40]
200
201//! [41]
202C:\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"
203Configure summary:
204
205Qt Sql Drivers:
206 DB2 (IBM) .............................. no
207 InterBase .............................. no
208 Mimer SQL .............................. yes
209 MySql .................................. yes
210 OCI (Oracle) ........................... no
211 ODBC ................................... yes
212 PostgreSQL ............................. no
213 SQLite ................................. yes
214 Using system provided SQLite ......... no
215
216-- Configuring done
217-- Generating done
218-- Build files have been written to: C:/build-qt6-sqldrivers
219//! [41]
220
221//! [42]
222C:\Qt\6.0.0\Src\configure.bat -sql-mysql -- -DMySQL_ROOT="C:\mysql-8.0.22-winx64"
223Configure summary:
224
225...
226Qt Sql Drivers:
227 DB2 (IBM) .............................. no
228 InterBase .............................. no
229 Mimer SQL .............................. yes
230 MySql .................................. yes
231 OCI (Oracle) ........................... no
232 ODBC ................................... yes
233 PostgreSQL ............................. no
234 SQLite ................................. yes
235 Using system provided SQLite ......... no
236...
237//! [42]
238
239//! [44]
240create procedure inout_proc (INOUT param1 INT, OUT param2 INT)
241BEGIN
242 set param1 = param1 * 2;
243 set param2 = param1 * param1;
244END
245//! [44]