Russian Qt Forum

Qt => Базы данных => Тема начата: SubaroMows от Декабрь 01, 2011, 17:00



Название: Открытие база данных в не текущей директории.
Отправлено: SubaroMows от Декабрь 01, 2011, 17:00
У меня программа загружает БД. работаю с SQLite.
Грубо говоря у меня есть файл mybd.slite, мне нужно его загрузить.

Всё отлично работает если в качестве path передаёшь просто имя mybd.sqlite, причём данная БД если не была создана создаётся в текущей директории проекта, если же она уже лежит в текущей директории то просто открывается.

Но проблема встаёт а если mybd.sqlite лежит не в текущей директории, к примеру C:\bd\mybd.sqlite
Как тогда открывать эту БД и редактировать?

метод setDatabaseName() как я понял устанавливает только имя.
метода который устанавливает путь не нашёл...

Вот моя функция

Цитировать
void saveManager::setBD(QString path)
{
    db = QSqlDatabase::addDatabase("QSQLITE");
 
    db.setDatabaseName(path);
    if(!db.open())
        QMessageBox::information(0,"Ошибка открытия","база данных не загружена");
}


Название: Re: Открытие база данных в не текущей директории.
Отправлено: cya-st от Декабрь 01, 2011, 17:06
Попробуй указать путь так: C:/bd/mybd.sqlite


Название: Re: Открытие база данных в не текущей директории.
Отправлено: SubaroMows от Декабрь 01, 2011, 17:21
Смешно конечно-) Но работает.
Спасибо.


Название: Re: Открытие база данных в не текущей директории.
Отправлено: LisandreL от Декабрь 01, 2011, 18:08
Смешно конечно-) Но работает.
Ну так вы небось так и написали "C:\bd\mybd.sqlite" оно и превратилось в "C:bdmybd.sqlite".


Название: Re: Открытие база данных в не текущей директории.
Отправлено: SubaroMows от Декабрь 01, 2011, 21:06
чё я то написал-)
getFileOpen() такое вернул-)