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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: "QMYSQL: Unable to execute query", "Unknown table  (Прочитано 2601 раз)
qwyllum
Гость
« : Июнь 07, 2013, 19:05 »

Подскажите пожалуйста, что может привести к ошибке 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();// выдает вышеописанную ошибку

И вот не могу понять - два кода полностью сходятся - процесс инициализации моделей, выборка из БД, даже имя таблицы совпадает. Но один метод работает, второй - нет. В чем может быть проблема, подскажите, пожалуйста...
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Июнь 07, 2013, 19:18 »

Второй запрос
"SELECT carrier.idFROM carrier"
попробуйте вернуть пробел на место.
Записан
qwyllum
Гость
« Ответ #2 : Июнь 07, 2013, 19:21 »

Второй запрос
"SELECT carrier.idFROM carrier"
попробуйте вернуть пробел на место.
Я идиот. Спасибо Вам огромное, вы сэкономили пару часов времени и нервов.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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