Не считывает данные из базы данных SQL Qt

84
21 ноября 2021, 18:20

Перекрестно создается база данных и заполняется, но вот пройти её и считать весь столбик "BarCode" почему-то не выходит.

void DataBase::readDataBase()
{
   QSqlQuery query;
   QSqlRecord rec = query.record();
   qDebug() << " QSqlRecord rec = query.record();";
   int BarCode;
   qDebug() << "while(query.next()) N";
   while(query.next()){
      BarCode = query.value(rec.indexOf("BarCode")).toInt();
      qDebug() << "BarCode :" <<BarCode;
   }
   qDebug() << "while(query.next()) K";
}

Вот вывод :

db->readDataBase();
 QSqlRecord rec = query.record();
while(query.next()) N
while(query.next()) K

Но почему то но не считывает и не отрабатывает массив. Хотя данные в базе есть, как и сама база данных.

Код этот из книги Макса Шлее.

Answer 1

Теперь заходит, надо было добавить вызов.

SELECT * FROM имя_таблицы

Вот функция исправленная, которая теперь работает :

void DataBase::readDataBase()
{
    // считываем данные из базы
    QSqlQuery query;
    if(!query.exec("SELECT * FROM " TABLE ";")){
        qDebug() << "Unable to execute query - exiting";
    }
    QSqlRecord rec = query.record();
    int BarCode;
    while(query.next()){
        BarCode = query.value(rec.indexOf("BarCode")).toInt();
        qDebug() << "BarCode :" <<BarCode;
    }
}
READ ALSO
С++ программа для устного счета

С++ программа для устного счета

почему-то выбирает действие кроме деления почему ???

155
Как записать в вектор значения?

Как записать в вектор значения?

Как записать в вектор значение из cin?

188
Параллельное программирование С++

Параллельное программирование С++

Задание было, написать программу и распараллелить ее, само задание звучит так : Задана последовательность, состоящая только из символов >, < и -Требуется...

70
Сравнение строк в C++

Сравнение строк в C++

Задали сделать массив структур, в котором ведомости про поезда (по названиям переменных думаю всё понятно)Нужно чтобы программа выводила...

101