qt: QSqlQuery возвращает вектор QVariant - PullRequest
2 голосов
/ 20 декабря 2010

Я запрашиваю sqlite db, используя класс QSqlQuery следующим образом:

 QSqlQuery query("SELECT country FROM artist");
 while (query.next()) {
     QString country = query.value(0).toString();
     doSomething(country);
 }

Есть ли способ получить вектор QVariants напрямую из класса QSqlLite? Примерно так:

 QSqlQuery query("SELECT country FROM artist");
 while (query.next()) {
     std::vector< QVariant > allFields;
     allFields.push_back( query.value(0) );
     allFields.push_back( query.value(1) );
     allFields.push_back( query.value(2) );
     doSomething(allFields);
 }

1 Ответ

3 голосов
/ 20 декабря 2010

Использовать boundValues:

QList<QVariant> allFields = query.boundValues().values();

PS: я бы не использовал std-контейнеры в Qt.Qt-контейнеры имеют главное преимущество - неявное совместное использование.Я бы предложил использовать QList вместо std :: vector

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...