Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.<so|dylib>"
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_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib"
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_INCLUDE_DIR="/usr/include/oracle/21/client64" -DOracle_LIBRARY="/usr/lib/oracle/21/client64/lib/libclntsh.<so|dylib>"
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_INCLUDE_DIR="C:\oracle\sdk\include" -DOracle_LIBRARY="C:\oracle\oci.lib"
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> -DCMAKE_INCLUDE_PATH="/usr/local/pgsql/include" -DCMAKE_LIBRARY_PATH="/usr/local/pgsql/lib"
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> -DCMAKE_INCLUDE_PATH="C:\pgsql\include" -DCMAKE_LIBRARY_PATH="C:\pgsql\lib"
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_INCLUDE_DIR="/usr/local/db2/include" -DDB2_LIBRARY="/usr/local/db2/lib/libdb2.<so|dylib>"
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_INCLUDE_DIR="C:\db2\include" -DDB2_LIBRARY="C:\db2\lib\db2.lib"
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_INCLUDE_DIR="/opt/interbase/include" -DInterbase_LIBRARY="/opt/interbase/lib/libgds.<so|dylib>"
145cmake --build .
146cmake --install .
147//! [27]
148
149
150//! [28]
151mkdir build-sqldrivers
152cd build-sqldrivers
153qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DInterbase_INCLUDE_DIR="/opt/interbase/include" -DInterbase_LIBRARY="/opt/interbase/lib/libfbclient.<so|dylib>"
154cmake --build .
155cmake --install .
156//! [28]
157
158
159//! [29]
160mkdir build-sqldrivers
161cd build-sqldrivers
162qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path><platform> -DInterbase_INCLUDE_DIR="C:\interbase\include" -DInterbase_LIBRARY="C:\interbase\gds.lib"
163cmake --build .
164cmake --install .
165//! [29]
166
167
168//! [30]
169mkdir build-sqldrivers
170cd build-sqldrivers
171qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path><platform> -DInterbase_INCLUDE_DIR="C:\interbase\include" -DInterbase_LIBRARY="C:\interbase\lib\fbclient_ms.lib"
172cmake --build .
173cmake --install .
174//! [30]
175
176//! [31]
177mkdir build-sqldrivers
178cd build-sqldrivers
179
180qt-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"
181cmake --build .
182cmake --install .
183//! [31]
184
185//! [32]
186mkdir build-sqldrivers
187cd build-sqldrivers
188
189qt-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"
190cmake --build .
191cmake --install .
192//! [32]
193
194//! [35]
195QSqlDatabase: QPSQL driver not loaded
196QSqlDatabase: available drivers: QSQLITE QMYSQL QMARIADB QODBC QPSQL
197Could not create database object
198//! [35]
199
200
201//! [38]
202QPSQLDriver::getResult: Query results lost - probably discarded on executing another SQL query.
203//! [38]
204
205//! [39]
206CREATE TABLE "testTable" ("id" INTEGER);
207//! [39]
208
209//! [40]
210QString tableString("testTable");
211QSqlQuery q;
212// Create table query is not quoted, therefore it is mapped to lower case
213q.exec(QString("CREATE TABLE %1 (id INTEGER)").arg(tableString));
214// Call toLower() on the string so that it can be matched
215QSqlRecord rec = database.record(tableString.toLower());
216//! [40]
217
218//! [41]
219C:\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"
220Configure summary:
221
222Qt Sql Drivers:
223 DB2 (IBM) .............................. no
224 InterBase .............................. no
225 Mimer SQL .............................. yes
226 MySql .................................. yes
227 OCI (Oracle) ........................... no
228 ODBC ................................... yes
229 PostgreSQL ............................. no
230 SQLite ................................. yes
231 Using system provided SQLite ......... no
232
233-- Configuring done
234-- Generating done
235-- Build files have been written to: C:/build-qt6-sqldrivers
236//! [41]
237
238//! [42]
239C:\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"
240Configure summary:
241
242...
243Qt Sql Drivers:
244 DB2 (IBM) .............................. no
245 InterBase .............................. no
246 Mimer SQL .............................. yes
247 MySql .................................. yes
248 OCI (Oracle) ........................... no
249 ODBC ................................... yes
250 PostgreSQL ............................. no
251 SQLite ................................. yes
252 Using system provided SQLite ......... no
253...
254//! [42]
255
256//! [43]
257C:\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"
258Configure summary:
259
260...
261Qt Sql Drivers:
262 DB2 (IBM) .............................. no
263 InterBase .............................. no
264 Mimer SQL .............................. yes
265 MySql .................................. yes
266 OCI (Oracle) ........................... no
267 ODBC ................................... yes
268 PostgreSQL ............................. no
269 SQLite ................................. yes
270 Using system provided SQLite ......... no
271...
272//! [43]
273
274//! [44]
275create procedure inout_proc (INOUT param1 INT, OUT param2 INT)
276BEGIN
277 set param1 = param1 * 2;
278 set param2 = param1 * param1;
279END
280//! [44]