Russian Qt Forum
Апрель 19, 2024, 19:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqTablelModel не видит таблицу  (Прочитано 2791 раз)
maks1596
Гость
« : Январь 16, 2017, 20:01 »

Таблицу в базе данных SQLite 3 создавал через SQLiteStudio. При попытке установки таблицы в модель, возникает ошибка "не найдена таблица имечко". Модель в данном случае QSqlTableModel, а представление QTableView.
Код
C++ (Qt)
m_DBHelper.connect();
 
m_model.setTable("Formula");
m_model.select();
qDebug() << m_model.lastError().driverText();
 

Метод DataBaseHelper::connect() соединение с базой устанавливает корректно.
Код
C++ (Qt)
bool DataBaseHelper::connect() {
   QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
   db.setDatabaseName("Formulas.sqlite");
   if(!db.open()) {
       qDebug() << "Не удалось открыть БД: " << db.lastError().text();
       return false;
   }
   qDebug() << db.tables();
   return true;
}
 

В дебаг выводит следующее:
Цитировать
("Formula", "sqlite_sequence")
"Unable to find table Formula"

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

Записан
maks1596
Гость
« Ответ #1 : Январь 16, 2017, 20:38 »

Вопрос благополучно решился созданием модели в куче, а именно
Код
C++ (Qt)
m_model = new QSqlTableModel(this, QSqlDatabase::database());
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.18 секунд. Запросов: 20.