Russian Qt Forum

Qt => Базы данных => Тема начата: OKTA от Июнь 15, 2012, 21:08



Название: static sqlite
Отправлено: 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);
   
}

Из-за чего это может быть??


Название: Re: static sqlite
Отправлено: GraninDm от Июнь 18, 2012, 08:26
QSqlDatabase::removeDatabase(connection);


Название: Re: static sqlite
Отправлено: Kurles от Июнь 18, 2012, 10:53
QSqlDatabase::removeDatabase(connection);
Это то тут причем? Оно просто соединение с БД удаляет из списка активных соединений, а никак не файл БД.


Название: Re: static sqlite
Отправлено: Serr500 от Июнь 18, 2012, 11:30
Из-за чего это может быть??
Из-за кода в другом месте.


Название: Re: static sqlite
Отправлено: GraninDm от Июнь 18, 2012, 11:57
Да...
Глупость сморозил.  :-\

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

Хотя может вот ответ...http://stackoverflow.com/questions/8237940/temp-tables-are-created-by-default-in-sqlite?rq=1 (http://stackoverflow.com/questions/8237940/temp-tables-are-created-by-default-in-sqlite?rq=1)


Название: Re: static sqlite
Отправлено: OKTA от Июнь 19, 2012, 19:21
Не, даже без commit все будет в базе, если запрос верный =)
У меня ошибка другая была))) В статической сборке почему-то булевское условие перестало работать и всегда удаляло файл БД))