Я пытаюсь использовать QSqlQueryModel
для получения некоторых значений из моей базы данных, например:
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL", "test1");
db.setHostName(Vars::strDbHost);
db.setDatabaseName(Vars::strDbName);
db.setPort(Vars::strDbPort);
db.setUserName(Vars::strDbUsername);
db.setPassword(Vars::strDbPassword);
db.open()
QSqlQueryModel model;
model.setQuery(QString("SELECT * FROM users WHERE login=%2").arg(Vars::strUserLogin));
Но я продолжаю получать ошибку QSqlQuery::exec: database not open
.
Почему это так и как правильно использовать QSqlQueryModel
для получения нужных мне значений?
if (!db.open()) qDebug() << db.lastError().text();
. Кроме того, где вы установили модель базы данных? - person Amartel   schedule 11.06.2015setQuery
. Это работает только с базами данных, которые имеют имя по умолчанию. В вашем случае вам нужно позвонитьvoid setQuery(const QString &query, const QSqlDatabase &db)
- person Amartel   schedule 11.06.2015