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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: static sqlite  (Прочитано 4482 раз)
OKTA
Гость
« : Июнь 15, 2012, 21:08 »

Товарищи! откройте глаза! Собираю Qt споддержкой sqlite, все собирается нормально, работает, но! По закрытию программы удаляется  файл БД! 0_о В Деструкторе класса, отвечающего за БД несколь строчек -
Код:
uDataBase::~uDataBase(){
    //

    QSqlQuery q(QSqlDatabase::database(connection));
    q.prepare("VACUUM");
    q.exec();

    db.close();
   
    QSqlDatabase::removeDatabase(connection);
   
}

Из-за чего это может быть??
Записан
GraninDm
Гость
« Ответ #1 : Июнь 18, 2012, 08:26 »

QSqlDatabase::removeDatabase(connection);
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #2 : Июнь 18, 2012, 10:53 »

QSqlDatabase::removeDatabase(connection);
Это то тут причем? Оно просто соединение с БД удаляет из списка активных соединений, а никак не файл БД.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Serr500
Гость
« Ответ #3 : Июнь 18, 2012, 11:30 »

Из-за чего это может быть??
Из-за кода в другом месте.
Записан
GraninDm
Гость
« Ответ #4 : Июнь 18, 2012, 11:57 »

Да...
Глупость сморозил.  В замешательстве

Тогда, глянуть бы, как база создается?

Хотя может вот ответ...http://stackoverflow.com/questions/8237940/temp-tables-are-created-by-default-in-sqlite?rq=1
« Последнее редактирование: Июнь 18, 2012, 12:05 от GraninDm » Записан
OKTA
Гость
« Ответ #5 : Июнь 19, 2012, 19:21 »

Не, даже без commit все будет в базе, если запрос верный =)
У меня ошибка другая была))) В статической сборке почему-то булевское условие перестало работать и всегда удаляло файл БД))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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