Подскажите пожалуйста, что может привести к ошибке QSqlError(1109, "QMYSQL: Unable to execute query", "Unknown table 'carrier' in field list")
Я не идиот, понимаю, что по идее такую ошибку должно выдавать если таблица не найдена. Но вот в чем загвоздка - таблица существует и чуть раньше с ней отлично работалось. В общем, проще наверное показать код:
Dialog::Dialog()
{
sort1=new QSortFilterProxyModel(this);
model1=new QSqlQueryModel();
sortCarrier=new QSortFilterProxyModel(this);
modelCarrier=new QSqlQueryModel();
}
void Dialog::init_tabCarrier()// отлично работает
{
//получаем данные перевозчика
modelCarrier->setQuery(
"SELECT carrier.id, carrier.name, carrier.master, carrier.phone FROM carrier ", db.body);
sortCarrier->setSourceModel(modelCarrier);//модель для сортировки использует модель таблицы
ui->tvCarrier->setModel(sortCarrier);
}
void Dialog::init_tabAppeal()
{
QString str= "SELECT carrier.id"
"FROM carrier";
model1->setQuery(str
, db.body);// это уже не работает
qDebug()<<model1->query().lastError();// выдает вышеописанную ошибку
И вот не могу понять - два кода полностью сходятся - процесс инициализации моделей, выборка из БД, даже имя таблицы совпадает. Но один метод работает, второй - нет. В чем может быть проблема, подскажите, пожалуйста...