Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2013, 19:33   #1
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию Размещение файла БД (mdb).

Порекомендуйте, у кого есть своя сложившаяся методика, где размещать файл БД. Дело вот в чём:

в мастере подключения к БД прописано только имя файла БД, предполагая его наличие в той же папке, что и программа. Но тогда при запуске из среды Делфи откомпилированной программы выдаётся ошибка, что файл БД не найден (ну да, запускается, ведь, программа уже из папки ПапкаПроекта/win32/debug, а не из папки проекта, где лежит БД).
Как быть в этом случае? Тупо копировать руками БД в папку ПапкаПроекта/win32/debug, чтоб не выдавало ошибки?

Но это бред… Прописывать путь к файлу БД не хочу, потому, что тогда он будет неправильный на другом компьютере… Или я чего-то не туда понимаю?
Andrej_K вне форума Ответить с цитированием
Старый 22.12.2013, 19:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как быть в этом случае?
В ConnectionString приписывать путь вычисляя его.
http://www.programmersforum.ru/showthread.php?t=95518
http://www.programmersforum.ru/showthread.php?t=116400
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2013, 20:10   #3
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

За ссылки спасибо, почитал, возьму на заметку, но вопрос был немного не о том.
Как найти путь к БД рядом с экзэшником понятно.
Как решить проблему ненахождения файла БД в папке ПапкаПроекта/win32/debug? При компиляции туда помещается экзэшник, но не помещается БД. Вот и пишет, что в папке …/ПапкаПроекта/win32/debug не может найти БД.
Andrej_K вне форума Ответить с цитированием
Старый 22.12.2013, 20:36   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А вот нефик компилировать куда попало. Настрой свой проект на компиляцию файлов именно в ту папку, в которой они должны работать, и тогда такая головная геморойя исчезнет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2013, 20:57   #5
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Откуда мне знать, куда надо компилировать? Я новичёк, куда скомпилировало по умолчанию, то и имею. Как изменить?
Andrej_K вне форума Ответить с цитированием
Старый 22.12.2013, 22:12   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В настройках проекта можно прописать путь, куда будет компилироваться программа. У меня нет Делфи так что я не скажу, а на глаз не помню. По идее меню Project - Project Options и там ищи путь. Там же его и меняй на нужный.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2013, 22:26   #7
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В настройках проекта можно прописать путь, куда будет компилироваться программа. У меня нет Делфи так что я не скажу, а на глаз не помню. По идее меню Project - Project Options и там ищи путь. Там же его и меняй на нужный.

То́лько хотел написать, что обшарил все настройки делфи, как ты ответил про настройки проекта. Я про них и забыл вообще, что они такие у проекта есть))) Сейчас прочешу и их, спасибо.

Последний раз редактировалось Andrej_K; 22.12.2013 в 22:28.
Andrej_K вне форума Ответить с цитированием
Старый 22.12.2013, 22:46   #8
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Нашёл!

В настройках проекта в пункте Delphi Compiler (самый первый пункт) выставил Output directory, Package output directory и Unit output directory в своё значение, т. е. назначил папку, где лежит проект (было значение — .\$(Platform)\$(Config)).

Если кто знает, я ничего лишнего не назначил? Или, может ещё что-то надо изменить? Пока, вроде, всё хорошо, все компилируемые файлы кидает в папку проекта.

Кстати, что значит запись: .\$(Platform)\$(Config)?

Последний раз редактировалось Andrej_K; 22.12.2013 в 22:49.
Andrej_K вне форума Ответить с цитированием
Старый 22.12.2013, 22:59   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Если кто знает, я ничего лишнего не назначил?
Вроде нет. Такую же штуку проведи и в Release ветке.
$(Platform) - директива, заменяемая строкой названием платформы. Win32, Mac32 и т.д. короче название операционки
$(Config) это название конфигурации - debug или release.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.12.2013, 09:44   #10
absxx
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 12
По умолчанию

А не проще udl завести?
absxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка из скрытого файла mdb в excel ольгаг Microsoft Office Excel 2 26.10.2012 07:56
Ошибка открытия mdb файла PoVselennoy Microsoft Office Access 5 14.05.2012 20:57
id строки файла mdb z-wer БД в Delphi 6 12.12.2011 12:24
Расположение файла MDB fineleave БД в Delphi 4 15.01.2011 21:42
Ошибка открытия MDB файла повторно artemavd БД в Delphi 2 11.10.2010 17:22