Qt, Базы данных

Подключение к базе данных в Qt

Для подключения к базе данных нам необходимо включить в проект следующие классы:

#include <QMessageBox> //для вывода сообщения пользователю
#include <QSqlDatabase>
#include <QSqlError>
QMessageBox позволит вывести информацию о статусе подключения к базе данных, QSqlDatabase позволит совершить это подключение, а без QSqlError мы не сможем узнать, какая ошибка возникла при неудачном подключении к базе.
Необходимо также в тексте файла проекта (*.pro) указать следующее:

QT += sql

/*QPSQL - название драйвера для подключения к той или иной СУБД, в данном случае - к PostgreSQL; для подключения к базе MS SQL Server вам необходимо сначала настроить источник данных ODBC*/

QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");  /*после наименование драйвера БД также можно указать произвольное наименование подключения к серверу БД: addDatabase("QPSQL", "myConnection1")
имя или адрес сервера, где находится СУБД*/
db.setHostName("localhost");
//имя базы данных
db.setDatabaseName("myDB");
//имя пользователя
db.setUserName("user1");
//его пароль
db.setPassword("123321");
/*открываем подключение; если неудачно - выводим сообщение об ошибке*/
if (!db.open())
QMessageBox::critical(NULL,QObject::tr("Ошибка"),db.lastError().text());

При попытке подключения к базе данных PostgreSQL можно получить сообщение об ошибке «Driver not loaded». Это значит, что ваша система не может найти драйвер PostgreSQL. Необходимо в системный путь (PATH) вписать пути к папкам lib и bin вашей версии СУБД.

При удачном подключении к базе данных все обращения к базе в вашем проекте будут автоматически распознавать это подключение. Если подключение было задано без наименования подключения, то оно будет расцениваться как подключение по умолчанию. В проекте обязательно должно быть такое подключение, иначе получим ошибку. Работая с потоками в проекте для каждого потока должно быть свое подключение под своим именем.

Подключение к базе данных Microsoft SQL Server в Qt.

Инфо обо мне: https://secretsilent.ru/info/

Подключение к базе данных в Qt: 3 комментария

Оставьте своё мнение...

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.