我正在访问 mysql 数据库:
void queryDealID()
{
QSqlQuery query;
if (!query.exec("SELECT DealID FROM st_park_bukkit ORDER BY DealID DESC LIMIT 1;"))
{
qDebug() << "Unable to execute query";
return;
}
QSqlRecord rec = query.record();
query.next();
// qDebug() << "Current DID from query " << query.value(rec.indexOf("DealID")).toString();
if(query.value(rec.indexOf("DealID")).isNull())
{
CurrentDealID = 0;
}
else
{
CurrentDealID = query.value(rec.indexOf("DealID")).toInt();
}
}
当它为空时,我的调试中会弹出以下错误:
QSqlQuery::value: not positioned on a valid record
如何解决?该代码有效,但我担心可怕的无形的事情正在发生。错误的机制是什么?
对于空表,只需要检查查询结果的有效性