Сейчас моё обращение к БД выглядит так:
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
- это перегруженный вариант. То, что вам надо.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В сигнатуре указано int MPI_Init( int* argc, char*** argv), что как бе намекает на то, что я данную функцию могу вызвать только внутри int main(int argc, char** argv)
Требуется организовать множественное наследование на языке С++ по данной схеме:
Имеется некоторое число floatНеобходимо написать программу, которая заменяет в представлении этого числа последний байт на значение "0xAA" и, после...