QSqlQuery只返回带有SELECT * FROM ...的两列,知道为什么我没有得到所有列?

时间:2018-04-01 09:34:19

标签: mysql sql qt qtsql

我有一个包含16列的表格。我使用SELECT课程执行QSqlQuery。我按预期得到两行,但只有16行中的前两列。

以下是查询的简化版本

QSqlQuery query(f_db);
query.prepare(QString("SELECT * FROM my_table WHERE status = 'good'");
query.exec();
query.next();
int const max(query.size());  // here max == 2 instead of 16
for(int idx(0); idx < max; ++idx)
{
    QVariant v(it->second->value(idx));
    ...v is correct for column 1 and 2...
}

任何想法为什么MySQL不会返回所有16列。

1 个答案:

答案 0 :(得分:4)

根据此article,您获得的行数不是列数,query.size()返回记录数。但query.record().count返回列数