Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Quirtel
0 / 0 / 2
Регистрация: 26.10.2014
Сообщений: 7
1

Qt Mac OS, не удаётся получить данные в SQLite

16.07.2015, 15:44. Просмотров 328. Ответов 4
Метки нет (Все метки)

Здравствуйте, уважаемые формучане, у меня такая проблема:

Подключился к БД, написал запрос для получения данных:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "schedule_edit.h"
#include "ui_schedule_edit.h"
#include <QComboBox>
#include <QtSql>
#include <QMessageBox>
#include <QSqlError>
#include <functions.h>
#include <QStringListModel>
 
Schedule_edit::Schedule_edit(QWidget *parent)
    : QWidget(parent), ui(new Ui::Schedule_edit)
{
  ui->setupUi(this);
 
  ui->tableWidget->setColumnWidth(1, 150);
 
  QStringList list;
  model = new QStringListModel();
 
  QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
  db.setDatabaseName("/Users/andreymityulin/Desktop/S2.sqlite");
 
  QSqlQuery query;
 
  if (db.isOpen())
  {
 
    query.exec("SELECT OVERALL FROM LESSONS_NAMES_5_9");
 
    QSqlRecord rec = query.record();
 
    while (query.next())
    {
        list << query.value(rec.indexOf("OVERALL")).toString();
    }
 
    model->setStringList(list);
 
    ui->listView->setModel(model);
 
    db.close();
  }
 
}
Но почему-то ничего не возвращается, listView остается пустым, хотя в столбце "OVERALL" записи есть.
Гарантирую, что путь к базе данных - верный.
Помогите, пожалуйста!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2015, 15:44
Ответы с готовыми решениями:

Получить данные о сети: IP роутера к которому подключен телефон, MAC
Как получить данные о сети. а именно - IP роутера к которому подключен телефон, MAC и т.д.

не удаётся изменить MAC адрес
Добрый вечер, форумчане. Проблема такая. Стоит win 7 starter. пытаюсь изменить мас адрес - не...

Работа с SQLite, не удаётся подключение
Всем доброго времени суток. Вот решил попробовать собрать на Qt приложение, для работы с БД, тут же...

SQLite for Excel или как выгрузить данные в SQLite
Здравствуйте! Мне необходимо написать макрос для выгрузки данных из excel в sqlite. Нашла проект...

SQLite вывезка данные и выложить извлеченные данные к MessageUI
Всем привет господа. У меня есть проблемка что не смог сделат, может кто нибудь поможет. вот...

4
NoMasters
Псевдослучайный
1931 / 1131 / 96
Регистрация: 13.09.2011
Сообщений: 3,201
16.07.2015, 16:03 2
А где db.open()? И вообще, добавьте проверки ошибок.
0
Quirtel
0 / 0 / 2
Регистрация: 26.10.2014
Сообщений: 7
16.07.2015, 17:24  [ТС] 3
И с db.open() тоже ничего не работает, Qt ошибок никаких не выдает.

Добавлено через 1 час 16 минут
Решение:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "schedule_edit.h"
#include "ui_schedule_edit.h"
#include <QComboBox>
#include <QtSql>
#include <QMessageBox>
#include <QSqlError>
#include <functions.h>
#include <QStringListModel>
 
Schedule_edit::Schedule_edit(QWidget *parent)
    : QWidget(parent), ui(new Ui::Schedule_edit)
{
  ui->setupUi(this);
 
  ui->tableWidget->setColumnWidth(1, 150);
 
  QStringList list;
  model = new QStringListModel();
 
  QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
  db.setDatabaseName("/Users/andreymityulin/Desktop/S2.sqlite");
 
  if (db.isOpen())
  {
    QSqlQuery query;
 
    QSqlRecord rec = query.record();
 
    query.prepare("SELECT OVERALL FROM LESSONS_NAMES_5_9");
 
    while (query.next())
    {
        list << query.value(0).toString();
    }
 
    model->setStringList(list);
 
    ui->listView->setModel(model);
 
    db.close();
  }
 
}
0
RazrFalcon
1393 / 1250 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
16.07.2015, 18:20 4
Цитата Сообщение от Quirtel Посмотреть сообщение
И с db.open() тоже ничего не работает
без open вообще работать не должно.

где у вас QSqlQuery::exec после query.prepare()?
0
Quirtel
0 / 0 / 2
Регистрация: 26.10.2014
Сообщений: 7
16.07.2015, 18:24  [ТС] 5
Извиняюсь, забыл добавить строчку:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "schedule_edit.h"
#include "ui_schedule_edit.h"
#include <QComboBox>
#include <QtSql>
#include <QMessageBox>
#include <QSqlError>
#include <functions.h>
#include <QStringListModel>
 
Schedule_edit::Schedule_edit(QWidget *parent)
    : QWidget(parent), ui(new Ui::Schedule_edit)
{
  ui->setupUi(this);
 
  ui->tableWidget->setColumnWidth(1, 150);
 
  QStringList list;
  model = new QStringListModel();
 
  QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
  db.setDatabaseName("/Users/andreymityulin/Desktop/S2.sqlite");
 
  if (db.isOpen())
  {
    QSqlQuery query;
 
    QSqlRecord rec = query.record();
 
    query.prepare("SELECT OVERALL FROM LESSONS_NAMES_5_9");
 
    if(!query.exec())
    {
        qDebug() << query.lastError().text();
    }
 
    while (query.next())
    {
        list << query.value(0).toString();
    }
 
    model->setStringList(list);
 
    ui->listView->setModel(model);
 
    db.close();
  }
 
}
Вот. С этим кодом всё полностью работает.
0
16.07.2015, 18:24
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2015, 18:24

Не удаётся записать правильно данные в БД
Всем привет. Не удаётся подключиться к БД. string myConnectionString = &quot;Database=test;Data...

Не удаётся сохранить данные в файл с новой строки
Есть поля ввода и есть txt-файл,в который должны сохраняться данные из этих полей. Данные из...

Reflection - Не удаётся получить указанный тип
У меня есть метод создания формы и пользовательского элемента управления: public static void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.