Проверить функциональность драйвера
Синтаксические правила
bool QSqlDriver::hasFeature(< параметр >);
< параметр >::= идентификатор проверяемой функциональности

(элемент перечисления QSqlDriver::DriverFeature в таблице 1)

Таблица 1. Список доступных для проверки функциональных возможностей драйвера
Элемент перечисления QSqlDriver::DriverFeatureРезультат проверкиОписание
QSqlDriver::TransactionstrueПоддержка SQL транзакций, т.е. поддерживаются методы: QSqlDatabase::transaction(); QSqlDatabase::commit(); QSqlDatabase::rollback()
QSqlDriver::QuerySizetrue Поддержка получения информации о результате выполнения запроса, т.е. поддержка методов: QSqlQuery::size() – возвращает количество записей в выборке данных, QSqlQuery::numRowsAffected()) – возвращает количество реально добавленных, измененных или удаленных записей при выполнении операции insert, update, delete
QSqlDriver::BLOBfalseАвтоматическая загрузка BLOB-данных в оперативную память не поддерживается. Работа с BLOB-данными должна выполняться только с помощью эксклюзивных методов QtLinter-драйвера (см. раздел Работа с BLOB-данными)
QSqlDriver::UnicodefalseПоддержка драйвером данных в Unicode-кодировке при работе с СУБД, которые не поддерживают Unicode-кодировку. Т.к. СУБД ЛИНТЕР поддерживает Unicode-кодировку, то данная функциональная возможность драйвера не требуется
QSqlDriver::PreparedQueriestrueПоддержка использования претранслированных запросов
QSqlDriver::NamedPlaceholderstrueПоддержка именованных контейнеров (placeholder), заполняемых значениями именованных параметров претранслированного запроса
QSqlDriver::PositionalPlaceholderstrueПоддержка именованных контейнеров (placeholder), заполняемых значениями неименованных (позиционных) параметров претранслированного запроса
QSqlDriver::LastInsertIdtrueПоддержка предоставления информации о номере последней обработанной записи, т.е. поддержка метода QVariant QSqlQuery::lastInsertId()
QSqlDriver::BatchOperationstrueПоддержка выполнения нескольких операций в виде пакета
QSqlDriver::SimpleLockingfalseПоддержка запрета на запись в таблицу во время чтения из неё данных
QSqlDriver::LowPrecisionNumbersfalse Поддержка выборки численных значений с низкой точностью на уровне драйвера. В СУБД ЛИНТЕР точность значений обеспечивается непосредственно ядром СУБД с помощью указания соответствующего типа данных, поэтому данная функциональность не требуется
QSqlDriver::EventNotificationsfalseПоддержка уведомлений СУБД о событиях при обработке данных
QSqlDriver::FinishQueryfalseПоддержка выполнения низкоуровневого освобождения ресурсов при вызове QSqlQuery::finish()
QSqlDriver::MultipleResultSetsfalseПоддержка доступа к результирующим наборам данных, возвращаемым из пакетных операторов или хранимых процедур

Описание

Предоставляет информацию о поддержке драйвером QtLinter запрошенной функциональной возможности (метод статический).

Возвращаемое значение

Логическое значение:

  • true – драйвер поддерживает проверяемую функциональную возможность;

  • false – задана проверка неизвестной функциональной возможности, или проверяемая функциональная возможность не поддерживается.

Пример
QSqlDatabase db = QSqlDatabase::addDatabase( "QLINTER" );
db.driver()- >hasFeature(QSqlDriver::Transactions);
db.driver()- >hasFeature(QSqlDriver::QuerySize);
db.driver()- >hasFeature(QSqlDriver::BLOB);
db.driver()- >hasFeature(QSqlDriver::Unicode);
db.driver()- >hasFeature(QSqlDriver::PreparedQueries);