Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Каталог базы данных. [D6, Paradox]


Страницы:   1 2

Mishenka ©   (2004-04-14 20:55:00) 

При переносе проги на другой комп, или в другой каталог выводится сообщение об ошибке, Тобишь база строго прописана по определённому пути. Как сделать, чтоб путь менялся взависимости от расположения проги?


  (2004-05-02 11:46:00) [1]

Удалено модератором


Mishenka   (2004-05-02 04:55:00) [2]

Ну наконец-то разобрался! Не прошло и года! Спасибо всем за помощь!


HSolo   (2004-04-20 09:15:00) [3]

Ну вот Вам еще пример(из работающей программы):

with MyDB do begin
 Params.Clear;
 Params.Add('DefaultDriver=DBASE');
 Params.Add('EnableBCD=false');
 Params.Add('Path='+fDBPath);
 end;

где:
MyDB - TDataBase
fDBPath - путь к каталогу, где база лежит

Это для dBase, для Paradox - поставьте нужные параметры (какие именно - настройте алиас в BDEAdmin и посмотрите)


Mishenka   (2004-04-19 19:49:00) [4]


> Hawk2 ©   (19.04.04 18:34) [28]

Так тоже не работает :(((
Уж незнаю что и делать, наверно скоро повешусь.


Hawk2   (2004-04-19 18:34:00) [5]

Самый примитивный способ :)

procedure TMainFrm.FormShow(Sender: TObject);
var Str:string;
begin
 GetDir(0,Str);
 Str:=Str+'\DataFiles\';
 DataModule1.Query1.DatabaseName:=Str;
end;

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


Mishenka   (2004-04-19 17:21:00) [6]

Почему все молчат?


Mishenka   (2004-04-18 19:34:00) [7]

Открываю через DataModule. Ну создавал базу конечно в BDE/ Так что подсказывай :))


Sairex   (2004-04-18 16:12:00) [8]

Хммм... Как же ты тогда открываешь базу? И какого она типа ?
Если BDE то могу подсказать, иначе врдяли


Черный прапорщик   (2004-04-17 22:37:00) [9]

Novel и Win98?


Mishenka   (2004-04-17 21:09:00) [10]

Чё-то я посмотрел, SCB у меня сама выдаёт ошибку unknown DataBase, а у остальных на сайте написано, что надо в alias'е путь указывать, тобишь они для этого не подходят...


Anatoly Podgoretsky   (2004-04-17 15:55:00) [11]

Значит отказ от алиасов и устанавливать путь до базы при старте программы. Если интересно как это делается, то сходи на мой сайт и возьми любуэ программ по работе с базами, они все в исходных текстах.


Mishenka   (2004-04-17 15:41:00) [12]


> Sairex   (17.04.04 15:14) [19]

Проблема не в том как определить путь к проге, я его уже 10 раз определил. Проблема в том куда этот путь потом запихнуть, чтоб база его знала.

> Anatoly Podgoretsky ©   (17.04.04 15:31) [20]

У меня вариант 2, тобишь база находится в папке проги в одном из подкаталогов.


Anatoly Podgoretsky   (2004-04-17 15:31:00) [13]

Плясать надо от следующего

1. База отвязана от программы, находится в любом месте
2. База жестко связана с программой, находится в той же папке
3. База жестко связана с программой, находится в папке пользователя

Отсюда и разные решения.
Первый вариант дает большую гибкость.
Второй вариант можно и должно нарваться на отсутствие прав
Третий вариант однопользовательский


Sairex   (2004-04-17 15:14:00) [14]

Есть два варианта решения этой проблемы:
1. Создаешь файл который содержит информацию о местонахождении файла (причем без разницы какой он там db или еще какой нибудь)
и При запуске проги читаешь путь где находиться база. Но есть
свои не достатки.
2. Определять путь при запуске программы. Есть различные способы
как узнать путь до твоего приложения: я же чаще делаю так
..............
Var FilePath1,S1:String;
...
Begin
....
FilePath1:=Application.ExeName; // Выводит полный путь и имя
//exe-файла
For i:=1 to Length(FIlePath1)-6 Do
S1:=S1+FilePath1[i];
....
End;
Этот код можно использовать при полной уверенности что файл не переименуют поскольку здесь отбрасывается имя exe-из 6 символов
(p1.exe). По идее можно усовершенствовать.


Mishenka   (2004-04-16 21:29:00) [15]

Может хоть кто-нибудь знает?


Mishenka   (2004-04-16 14:33:00) [16]

Так чё делать-то?


Fay   (2004-04-16 00:33:00) [17]

Видимо, этот вопрос предназначался ЮЮ... А мой ответ - ,да,.


ser_ega   (2004-04-15 22:27:00) [18]

>>Fay  А этот код для какой базы? Для Paradox он подойдет или нет? Если нет то как сделать для Paradox?


Fay   (2004-04-15 21:37:00) [19]

Прямо не верится. Ужас какой.


Mishenka   (2004-04-15 21:09:00) [20]

RjhКороче бка возникает при обращении к DataModule1...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо