Qt/FAQ/QtSql
Материал из Wiki.crossplatform.ru
[править] 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, или тот тип, к которому вы хотите привести... // ... } }