Russian Qt Forum

Qt => Базы данных => Тема начата: raven1976 от Май 07, 2010, 13:39



Название: (SQLite) не отображаются записи в QTableView при переносе на другую машину
Отправлено: raven1976 от Май 07, 2010, 13:39
на машине установлен Qt SDK for Open Source C++ (Qt4.6.2)
создал проект, подключил базу (SQLite),

    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("phones.db3");
    db.open();

    model_General = new QSqlTableModel(this);
    model_General->setTable("view_general");
    model_General->select();

    ui->General_tableView->setModel(model_General);

exe-шник и база находятся в одной папке, сборка динамическая. 
Данные отображаются в QTableView
На машине где установлен Qt все работает и когда запускаю exe-шник из папки MyProj\debug и когда просто копирую exe-шник и базу в любую другую папку.

Теперь копирую exe-шник и базу (+ необходимые *.dll) на другую машину. Программа нормально запускается, но в QTableView пусто...

Подскажите пожалуйста в чем может быть причина...


Название: Re: (SQLite) не отображаются записи в QTableView при переносе на другую машину
Отправлено: raven1976 от Май 07, 2010, 13:56
Тема закрыта, разобрался сам
Просто для SQLite я скопировал только

sqldrivers\qsqlite4.dll   

а когда скопировал все файлы из  ...\Qt\2010.02.1\qt\plugins\sqldrivers

sqldrivers\qsqlite4.dll
              qsqlited4.dll
              qsqlodbc4.dll
              qsqlodbcd4.dll

то все заработало...


Название: Re: (SQLite) не отображаются записи в QTableView при переносе на другую машину
Отправлено: MoPDoBoPoT от Май 07, 2010, 20:39
На машине где установлен Qt все работает и когда запускаю exe-шник из папки MyProj\debug...
Просто для SQLite я скопировал только
sqldrivers\qsqlite4.dll
Прогу собрал в debug-версии, а dll посовываешь из release. Надо было qsqlited4.dll переносить, а не все что есть. А вообще, для конечного пользователя нужно компилировать в release-версии и подсовывать соответствующие библиотеки.