【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);
}