qt关于not positioned on a valid record

           qt关于not positioned on a valid record

 

 

    在实现 query.value(0).toString()   语句的过程中,有时会出现not positioned on a valid record(在该位置没有有效的记录)的报错。

    该问题一般由以下几种错误造成:

     1)在实现 query.value(0).toString()   语句前没有query.next()或者 query.first()  ,QSqlQuery返回的数据集,record是停在第一条记录之前的。所以,在获得数据集后,必须执行next()或first()到第一条记录,这时候record才是有效的。

     2)如果在加上query.next()或者 query.first()之后,仍出现问题,那就要考虑是否在数据库建立的过程中就出现了问题(初学者在使用qt的数据库语句时,经常会犯错,因为即使错了,qt creator 也不会报错……),可以下载一个SQLiteManager对数据库进行查看,确认数据库是否建立成功。

 

qt关于not positioned on a valid record_第1张图片

 

PS:千万不要忘了   query.exec("select * from table");

你可能感兴趣的:(====QT=====,qt)