подключено к бд. После вставки значений в бд я делаю submitAll() для tableview, но, значения добавляются только когда проект перезапускаю, при этом в бд они есть
как вставляешь значения в бд?
Есть 2 класса, один чисто для бд, второй для интерфейса. С интерфейса получаю значения, и потом вызываю функцию бд Вот код с функции БД по вставке нового больного bool CDataBase::insertNewSick(const QVariantList& data) { QSqlQuery query; if (!query.exec("INSERT INTO " + TABLE_PERSONAL_INFO+ " ("+ TABLE_PERSONAL_INFO_NAME+", " + TABLE_PERSONAL_INFO_SURNAME +", " + TABLE_PERSONAL_INFO_ADRESS+","+TABLE_PERSONAL_INFO_DATE_IN +")values('" + data[0].toString() + "', '" + data[1].toString() + "', '" + data[2].toString()+"','"+QDate::currentDate().toString() + "')")) { qDebug() << "error insert into "<<DATABASE_NAME; qDebug() << query.lastError().text(); return false; } else { return true; } return false; }
так... а модель тут причем? ты же submitAll вызываешь у модели? https://doc.qt.io/qt-5/qsqltablemodel.html#submitAll submitAll отправляет все ожидающие изменения в бд. т.е. когда меняешь модель вызываешь submitAll для записи в бд
А, понял, спасибо большое
Надо переустановить модель для QTableView
Обсуждают сегодня