а что есть *db... и как query объявлен??
В конструкторе класса:
Объявление query:
QSqlQuery *query = new QSqlQuery(*db);
Указатель на db передаю из окна подключения в другие классы. Хотя, видимо это не нужно...
Забыл, что в еще одном классе тоже вызываю хранимую процедуру, но такой ошибки не происходит.
Провел еще пару опытов и заметил, что:
1) После потери данных такое ощущение, что теряется коннект к базе, потому что другие окна с обычными QSqlRelationTabelModel не могут открыть таблицы.
2) Если эта хранимая процедура возвращает NULL, то данные не теряются.