现在我的数据库调用如下所示:
QVector<QStringList> VectorOfRecords;
QueryConstructor SelectAll;
SelectAll.setTableName(QStringLiteral("TableName"));
SelectAll.setOrderByClause("Id", Descending);
QSqlQuery getRecordsQuery(Database);
if( getRecordsQuery.exec(SelectAll.constructSelectQuery()))
{
while (getRecordsQuery.next())
{
QStringList Row;
for (int i = 0;i < 9;i++)
{
Row.push_back(getRecordsQuery.value(i).toString());
}
VectorOfRecords.push_back(Row);
}
}
else
{
QMessageBox::critical(NULL, QObject::tr("Error"), getRecordsQuery.lastError().text());
}
QueryConstructor 是我的类,在此示例中,它请求显示整个表。
我想更换这个
getRecordsQuery.value(i)
不是通过索引,而是通过名称来寻址。因为在我看来,使用数字在某种程度上是不可靠和不可读的。我怎样才能做到这一点?所以一切正常,但我想制作一个更灵活的系统。
看
QVariant QSqlQuery::value(const QString &name) const- 这是一个重载版本。你需要什么。