соответствующий код:
this->user = ui->user->text();
this->pass = ui->pass->text();
QSqlQuery qry;
qry.prepare("select pass from users WHERE user =:user");
qry.bindValue(":user",this->user);
if(qry.exec()){
qDebug () << "query.exe success";
}
qDebug() << " ERROR " << qry.lastError();
if(qry.first()){
qDebug() << qry.value(0).toString();
}
qry.first()
никогда не выполняется qry.lastError()
возвращает пустую строку ошибки, что, как я понимаю, означает, что ошибки нет. Однако, используя delete from users
работает. this->user
строка, которая соответствует тому, что находится в таблице базы данных users
, Но запрос никогда не выполняется.
Таблица users'
столбцы: id
, user (varchar)
, pass(varchar)
Я искал ответ во многих местах, но не нашел его.
Убедитесь, что запрос работает без привязки в первую очередь.
Ваш водитель может не поддерживать названный связывание!
Попробуйте связать значения, используя позиционный заполнители:
qry.prepare("select pass from users WHERE user = ?");
qry.bindValue(0,this->user);
Других решений пока нет …