Qt/FAQ/QtSql
Материал из Wiki.crossplatform.ru
(Различия между версиями)
Root (Обсуждение | вклад) (Новая: = QtSql - работа с базами данных =) |
Lit-uriy (Обсуждение | вклад) (Добавил в категорию) |
||
(3 промежуточные версии не показаны) | |||
Строка 1: | Строка 1: | ||
= QtSql - работа с базами данных = | = QtSql - работа с базами данных = | ||
+ | Модуль [[Qt:Документация_4.3.2/qtsql | QtSql]] - предоставляет независимый от типа базы данных и платформы интерфейс для доступа к базам данных с помощью языка SQL. | ||
+ | ==Поддерживаемые базы данных== | ||
+ | |||
+ | В таблице ниже представлен список драйверов поставляемых с Qt. Из-за несовместимости с GPL лицензией, не все плагины поставляются с Qt Open Source Edition. | ||
+ | |||
+ | |||
+ | {| align="center" cellpadding="2" cellspacing="1" border="0" | ||
+ | |||
+ | |- valign="top" class="qt-style" | | ||
+ | !Имя драйвера | ||
+ | !СУБД | ||
+ | |- valign="top" class="odd" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qdb2 | QDB2]] | ||
+ | |IBM DB2 (версия 7.1 и выше) | ||
+ | |- valign="top" class="even" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qibase | QIBASE]] | ||
+ | |Borland InterBase | ||
+ | |- valign="top" class="odd" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qmysql | QMYSQL]] | ||
+ | |MySQL | ||
+ | |- valign="top" class="even" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qoci | QOCI]] | ||
+ | |Oracle Call Interface Driver | ||
+ | |- valign="top" class="odd" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qodbc | QODBC]] | ||
+ | |Open Database Connectivity (ODBC) - Microsoft SQL Server и другие ODBC совместимые базы данных | ||
+ | |- valign="top" class="even" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qpsql | QPSQL]] | ||
+ | |PostgreSQL (версия 7.3 и выше) | ||
+ | |- valign="top" class="odd" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qsqlite2 | QSQLITE2]] | ||
+ | |[[Qt:Документация 4.3.2/3rdparty#sqlite | SQLite]] версия 2 | ||
+ | |- valign="top" class="even" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qsqlite | QSQLITE]] | ||
+ | |[[Qt:Документация 4.3.2/3rdparty#sqlite | SQLite]] версия 3 | ||
+ | |- valign="top" class="odd" | | ||
+ | |[[Qt:Документация_4.3.2/sql-driver#qtds | QTDS]] | ||
+ | |Sybase Adaptive Server | ||
+ | |} | ||
+ | |||
+ | '''Замечаение:''' Для сборки плагина драйвера вам нужно иметь соответствующую клиентскую библиотеку для вашей системы управления базами данных (СУБД). Это обеспечивает доступ к API СУБД, и, как правило, поставляется вместе с ней. Большинство программ установки также позволяют установить "библиотеки для разработки", и то, что вам нужно. Эти библиотеки отвечают за низкоуровневое взаимодействия с СУБД. | ||
+ | |||
+ | == Получение столбцов и строк из SQL запроса == | ||
+ | <source lang=cpp-qt>QSqlQuery query = pDb->Exec( szQuery); // szQuery наша строка запроса | ||
+ | QSqlRecord rec = query.record(); | ||
+ | qnColCount = rec.count(); | ||
+ | |||
+ | // Получаем столбцы | ||
+ | for( int n=0; n < qnColCount; ++n) | ||
+ | { | ||
+ | QString szCol = rec.fieldName( n); | ||
+ | // ... | ||
+ | } | ||
+ | |||
+ | /// Получаем строки | ||
+ | while( query.next()) | ||
+ | { | ||
+ | for( int n=0; n < qnColCount; ++n) | ||
+ | { | ||
+ | QString szRow = query.value( n).toString(); // toInt, или тот тип, к которому вы хотите привести... | ||
+ | // ... | ||
+ | } | ||
+ | }</source> | ||
+ | |||
+ | |||
+ | [[Категория:Qt FAQ]] |
Текущая версия на 07:52, 27 января 2009
[править] QtSql - работа с базами данных
Модуль QtSql - предоставляет независимый от типа базы данных и платформы интерфейс для доступа к базам данных с помощью языка SQL.
[править] Поддерживаемые базы данных
В таблице ниже представлен список драйверов поставляемых с Qt. Из-за несовместимости с GPL лицензией, не все плагины поставляются с Qt Open Source Edition.
Имя драйвера | СУБД |
---|---|
QDB2 | IBM DB2 (версия 7.1 и выше) |
QIBASE | Borland InterBase |
QMYSQL | MySQL |
QOCI | Oracle Call Interface Driver |
QODBC | Open Database Connectivity (ODBC) - Microsoft SQL Server и другие ODBC совместимые базы данных |
QPSQL | PostgreSQL (версия 7.3 и выше) |
QSQLITE2 | SQLite версия 2 |
QSQLITE | SQLite версия 3 |
QTDS | Sybase Adaptive Server |
Замечаение: Для сборки плагина драйвера вам нужно иметь соответствующую клиентскую библиотеку для вашей системы управления базами данных (СУБД). Это обеспечивает доступ к API СУБД, и, как правило, поставляется вместе с ней. Большинство программ установки также позволяют установить "библиотеки для разработки", и то, что вам нужно. Эти библиотеки отвечают за низкоуровневое взаимодействия с СУБД.
[править] Получение столбцов и строк из SQL запроса
QSqlQuery query = pDb->Exec( szQuery); // szQuery наша строка запроса QSqlRecord rec = query.record(); qnColCount = rec.count(); // Получаем столбцы for( int n=0; n < qnColCount; ++n) { QString szCol = rec.fieldName( n); // ... } /// Получаем строки while( query.next()) { for( int n=0; n < qnColCount; ++n) { QString szRow = query.value( n).toString(); // toInt, или тот тип, к которому вы хотите привести... // ... } }