Qt/FAQ/QtSql

Материал из Wiki.crossplatform.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Добавил в категорию)
 
(2 промежуточные версии не показаны)
Строка 12: Строка 12:
!СУБД
!СУБД
|- valign="top" class="odd" |  
|- valign="top" class="odd" |  
-
|[[#qdb2 | QDB2]]
+
|[[Qt:Документация_4.3.2/sql-driver#qdb2 | QDB2]]
|IBM DB2 (версия 7.1 и выше)
|IBM DB2 (версия 7.1 и выше)
|- valign="top" class="even" |  
|- valign="top" class="even" |  
-
|[[#qibase | QIBASE]]
+
|[[Qt:Документация_4.3.2/sql-driver#qibase | QIBASE]]
|Borland InterBase
|Borland InterBase
|- valign="top" class="odd" |  
|- valign="top" class="odd" |  
-
|[[#qmysql | QMYSQL]]
+
|[[Qt:Документация_4.3.2/sql-driver#qmysql | QMYSQL]]
|MySQL
|MySQL
|- valign="top" class="even" |  
|- valign="top" class="even" |  
-
|[[#qoci | QOCI]]
+
|[[Qt:Документация_4.3.2/sql-driver#qoci | QOCI]]
|Oracle Call Interface Driver
|Oracle Call Interface Driver
|- valign="top" class="odd" |  
|- valign="top" class="odd" |  
-
|[[#qodbc | QODBC]]
+
|[[Qt:Документация_4.3.2/sql-driver#qodbc | QODBC]]
|Open Database Connectivity (ODBC) - Microsoft SQL Server и другие ODBC совместимые базы данных
|Open Database Connectivity (ODBC) - Microsoft SQL Server и другие ODBC совместимые базы данных
|- valign="top" class="even" |  
|- valign="top" class="even" |  
-
|[[#qpsql | QPSQL]]
+
|[[Qt:Документация_4.3.2/sql-driver#qpsql | QPSQL]]
|PostgreSQL (версия 7.3 и выше)
|PostgreSQL (версия 7.3 и выше)
|- valign="top" class="odd" |  
|- valign="top" class="odd" |  
-
|[[#qsqlite2 | QSQLITE2]]
+
|[[Qt:Документация_4.3.2/sql-driver#qsqlite2 | QSQLITE2]]
|[[Qt:Документация 4.3.2/3rdparty#sqlite | SQLite]] версия 2
|[[Qt:Документация 4.3.2/3rdparty#sqlite | SQLite]] версия 2
|- valign="top" class="even" |  
|- valign="top" class="even" |  
-
|[[#qsqlite | QSQLITE]]
+
|[[Qt:Документация_4.3.2/sql-driver#qsqlite | QSQLITE]]
|[[Qt:Документация 4.3.2/3rdparty#sqlite | SQLite]] версия 3
|[[Qt:Документация 4.3.2/3rdparty#sqlite | SQLite]] версия 3
|- valign="top" class="odd" |  
|- valign="top" class="odd" |  
-
|[[#qtds | QTDS]]
+
|[[Qt:Документация_4.3.2/sql-driver#qtds | QTDS]]
|Sybase Adaptive Server
|Sybase Adaptive Server
|}
|}
'''Замечаение:''' Для сборки плагина драйвера вам нужно иметь соответствующую клиентскую библиотеку для вашей системы управления базами данных (СУБД). Это обеспечивает доступ к API СУБД, и, как правило, поставляется вместе с ней. Большинство программ установки также позволяют установить  "библиотеки для разработки", и то, что вам нужно. Эти библиотеки отвечают за низкоуровневое взаимодействия с СУБД.
'''Замечаение:''' Для сборки плагина драйвера вам нужно иметь соответствующую клиентскую библиотеку для вашей системы управления базами данных (СУБД). Это обеспечивает доступ к 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, или тот тип, к которому вы хотите привести...
	  // ...
   }
}