Russian Qt Forum

Qt => Базы данных => Тема начата: phpCoder от Июнь 17, 2015, 13:49



Название: Путь к БД для SQLite
Отправлено: phpCoder от Июнь 17, 2015, 13:49
Добрый день.
Как указать относительный путь к файлу БД SQLite?
Типа того не прокатывает:
Код
C++ (Qt)
_db.setDatabaseName("dase.sqlite");
а так нормально:
Код
C++ (Qt)
_db.setDatabaseName("C:\\folder\\dase.sqlite");


Название: Re: Путь к БД для SQLite
Отправлено: Пантер от Июнь 17, 2015, 14:08
А относительно чего ты хочешь путь указать? Есть QCoreApplication::applicationDirPath().


Название: Re: Путь к БД для SQLite
Отправлено: gil9red от Июнь 17, 2015, 20:17
Если файл бд будет лежать в той же папке, где ехе, то _db.setDatabaseName("dase.sqlite"); должно сработать


Название: Re: Путь к БД для SQLite
Отправлено: Пантер от Июнь 18, 2015, 08:56
Если файл бд будет лежать в той же папке, где ехе, то _db.setDatabaseName("dase.sqlite"); должно сработать
Ты не прав. В твоем случае БД создастся в каталоге запуска.


Название: Re: Путь к БД для SQLite
Отправлено: gil9red от Июнь 18, 2015, 11:03
Если файл бд будет лежать в той же папке, где ехе, то _db.setDatabaseName("dase.sqlite"); должно сработать
Ты не прав. В твоем случае БД создастся в каталоге запуска.

Что такое "каталог запуска"? Это папка с ехе? Если да, то в чем я не прав?

Автору: в pro-файл добавьте строку DESTDIR = ../bin
Тогда на один уровень выше от pro-файла создастся папка bin и в нее будет помещаться собранный ехе

На скрине показано, что относительный путь работает и файл бд создается в той же директории, где находится ехе


Название: Re: Путь к БД для SQLite
Отправлено: Пантер от Июнь 18, 2015, 11:05
Код:
cd c:\some_folder
c:\progs\application\bin\untitled.exe

Где создастся БД? ;)


Название: Re: Путь к БД для SQLite
Отправлено: Пантер от Июнь 18, 2015, 11:06
Я ошибся немного в определении, не "каталог запуска", а "рабочий каталог".