QSqlQuery 不从 postgresql 中选择记录

QSqlQuery not selecting a record from postgresql

本文关键字:选择 记录 postgresql 不从 QSqlQuery      更新时间:2023-10-16

相关代码:

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)我看了很多地方寻找答案,但没有找到答案。

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

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

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

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