Установление соединения с базой данных в Qt
Для соединения с базой данных прежде всего нужно активизировать драйвер. для этого вызывается статический метод QSqlDatabase::addDatabase(). В него нужно передать строку, обозначающую идентификатор драйвера СУБД.
Для того чтобы подключиться к базе данных, потребуется четыре следующих параметра:
имя базы данных — передается в метод QSqlDatabase:: setDatabaseName();
имя пользователя, желающего к ней подключиться, — передается в метод QSqlDatabase::setUserName();
имя компьютера, на котором размещена база данных, — передается в метод QSqlDatabase::setHostName();
пароль — передается в метод QSqlDatabase::setPassword().
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("addressbook");
db.setUserName("elton");
db.setHostName("epica");
db.setPassword("password");
if (!db.open())
{
qDebug() << "Cannot open database:" << db.lastError();
return false;
}
return true;
}
Методы должны вызываться из объекта, созданного с помощью статического метода QSqlDatabase::addDatabase().
Само соединение осуществляется методом QSqlDatabase::open(). Значение, возвращаемое им, рекомендуется проверять. В случае возникновения ошибки, информацию о ней можно получить с помощью метода QSqlDatabase::lastError(), который возвращает объект класса QSqlError.
Его содержимое можно вывести на экран с помощью qDebug(). Если у вас возникла необходимость получить строку с ошибкой, то нужно вызвать из объекта класса QSqlError метод text().