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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Путь к БД для SQLite  (Прочитано 6967 раз)
phpCoder
Гость
« : Июнь 17, 2015, 13:49 »

Добрый день.
Как указать относительный путь к файлу БД SQLite?
Типа того не прокатывает:
Код
C++ (Qt)
_db.setDatabaseName("dase.sqlite");
а так нормально:
Код
C++ (Qt)
_db.setDatabaseName("C:\\folder\\dase.sqlite");
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Июнь 17, 2015, 14:08 »

А относительно чего ты хочешь путь указать? Есть QCoreApplication::applicationDirPath().
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #2 : Июнь 17, 2015, 20:17 »

Если файл бд будет лежать в той же папке, где ехе, то _db.setDatabaseName("dase.sqlite"); должно сработать
Записан

Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Июнь 18, 2015, 08:56 »

Если файл бд будет лежать в той же папке, где ехе, то _db.setDatabaseName("dase.sqlite"); должно сработать
Ты не прав. В твоем случае БД создастся в каталоге запуска.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #4 : Июнь 18, 2015, 11:03 »

Если файл бд будет лежать в той же папке, где ехе, то _db.setDatabaseName("dase.sqlite"); должно сработать
Ты не прав. В твоем случае БД создастся в каталоге запуска.

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

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

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

Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Июнь 18, 2015, 11:05 »

Код:
cd c:\some_folder
c:\progs\application\bin\untitled.exe

Где создастся БД? Подмигивающий
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Июнь 18, 2015, 11:06 »

Я ошибся немного в определении, не "каталог запуска", а "рабочий каталог".
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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