QtSQL, как читать запись как QMap - PullRequest
2 голосов
/ 09 апреля 2011

Есть ли быстрый способ прочитать запись из запроса как QMap<QString,QVariant> или подобный тип?

Или, может быть, Вы могли бы рассказать мне, как получить доступ к списку столбцов в текущей записи?

Спасибо.

1 Ответ

1 голос
/ 09 апреля 2011

Я не думаю, что есть такой метод. Но Вы можете создать объект QMap, содержащий все столбцы, например:

QString sql = "SELECT * FROM xxx WHERE id = x";
query.exec(sql);
QSqlRecord record = query.record();
query.next();

QMap<QString,QVariant> params;
for (int i=0; i<record.count(); ++i) {
    params.insert(record.fieldName(i++), query.value(i));
}

Как видите, QSqlRecord предоставляет доступ к информации о столбцах и т. Д.

...