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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Созданный на ПК в эмуляторе файл БД Sqlite не открывается на смартфоне  (Прочитано 3719 раз)
Kuper
Гость
« : Октябрь 19, 2010, 11:15 »

Здравствуйте.

Предыстория:
1. Создал БД в эмуляторе на ПК.
2. Заполнил ее.
3. На эмуляторе работаю с этим файлом без проблем, все хорошо.

Проблема:
Подкладываю файл на смартфон - получаю ошибку: unable to open database file Error opening database

Код:
Код:
bool DataBase::OpenDB(QString DBPath)
{
    QFile File(DBPath);
    if (File.exists())
    {
        try
        {
            DB = QSqlDatabase::addDatabase("QSQLITE", "LocalConnection");
            DB.setDatabaseName(DBPath);
            if (DB.open())
            {
                return true;
            }
            else
            {
                QMessageBox::critical(0, "Critical", tr("База данных не открыта!!!\n") + DB.lastError().text());
            }
        }
        catch (...)
        {
            QMessageBox::critical(0, "Critical", tr("Ошибка при открытии базы данных!!!\n") + DB.lastError().text());
        }
    }
    else
    {
        QMessageBox::critical(0, "Critical", tr("Не найден файл базы данных!!!\n") + DB.lastError().text());
    }
    return false;
}

Подскажите в каком направлении копать? Спасибо

PS Qt Creator 2.0.0, Qt 4.7.0
PSS Пишу под symbian 9.4 (Nokia 5800 xm)
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Октябрь 19, 2010, 12:45 »

первое что пришло на ум
1) есть sqlite 2.0 и sqlite3.0 - версии у вас совпадают?
2) откройте файлик сторонней программой  - типа плагина для firefox
Записан
Kuper
Гость
« Ответ #2 : Октябрь 19, 2010, 13:31 »

первое что пришло на ум
1) есть sqlite 2.0 и sqlite3.0 - версии у вас совпадают?
2) откройте файлик сторонней программой  - типа плагина для firefox

1) Да, версии одинаковые, все ставилось с одного установочного пакета Nokia Qt SDK
2) Открыл и выполнил селект в SQLite manager 3.5.1 - все замечательно
 
Вспомнил еще один странный факт. Как то раньше не удавалось создать базу по конкретному пути на смартфоне. Не помню уже какая была ошибка. Если просто указываешь имя, то база создавалась, но не известно где. Проходил поиском по телефону и флешкарте, но ничего не находил (ось не взломанная, половина системных папок скрыто).

Это какая то очередная фишка symbian???

А вот и пример на эту тему:
http://wiki.forum.nokia.com/index.php/CS001505_-_Creating_a_database_table_in_Qt
"// NOTE: File exists in the application private folder, in Symbian Qt implementation"
Это необходимое условие???
« Последнее редактирование: Октябрь 19, 2010, 14:06 от Kuper » Записан
bs
Гость
« Ответ #3 : Ноябрь 01, 2010, 20:54 »

Та же проблема, не открывает базу, решение появилось?

Я так понял, он открывает только базы, которые находятся в QDir::homePath(), как правило это память телефона, а впихнуть базу туда я не могу, она неслабо весит. А с другого диска не хочет открывать по непонятным причинам =(
« Последнее редактирование: Ноябрь 01, 2010, 22:01 от bs » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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