Qt/FAQ/QtSql

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

(Различия между версиями)
Перейти к: навигация, поиск
(Поддерживаемые базы данных)
(Добавил в категорию)
 
(1 промежуточная версия не показана)
Строка 41: Строка 41:
'''Замечаение:''' Для сборки плагина драйвера вам нужно иметь соответствующую клиентскую библиотеку для вашей системы управления базами данных (СУБД). Это обеспечивает доступ к 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, или тот тип, к которому вы хотите привести...
	  // ...
   }
}