【原创】<Debug> not positioned on a valid record

Problem】

QSqlQuery::value: not positioned on a valid record

QSqlQuery :: value:未定位在有效记录上

Solution】

参考链接 http://zhouyang340.blog.163.com/blog/static/302409592012101210525236/

解决方法:

QSqlQuery返回的数据集,record是停在第一条记录之前的。所以,获得数据集后,必须执行next()或first()到第一条记录,这时候record才是有效的。否则,exec完直接value肯定报这个错

QSqlQuery query;

query.prepare("select id,name from employee where name like :inputName");

query.bindValue(":inputName",str);

query.exec();

// QString namestr=query.value(1).toString(); //如果这句放在这里的话出现上述错误

if(query.first())

{

QString namestr=query.value(1).toString();   //放在此处则正确

emit searchButton_clicked(namestr);

}

原文地址:https://www.cnblogs.com/hhxxgdd/p/8523781.html