QSqlQuery не выбирает запись из postgresql - PullRequest
0 голосов
/ 15 мая 2018

соответствующий код:

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) Я искал ответ во многих местах, но не нашел его.

1 Ответ

0 голосов
/ 16 мая 2018

Убедитесь, что запрос сначала работает без привязки.

Возможно, ваш драйвер не поддерживает с именем привязка!

Попробуйте связать значения, используя positional заполнители:

qry.prepare("select pass from users WHERE user = ?");
qry.bindValue(0,this->user);
...