QSqlQuery没有从postgresql中选择一条记录

时间:2018-05-15 14:12:49

标签: c++ qt qt5 postgresql-10

相关代码:

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'列为:iduser (varchar)pass(varchar) 我看了很多地方的答案,但没有找到答案。

1 个答案:

答案 0 :(得分:0)

确保查询在没有绑定的情况下正常工作。

您的驱动程序可能不支持命名绑定!

使用位置占位符尝试绑定值:

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