Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Как из программы изменить путь к БД, прописанный в BDE?   Найти похожие ветки 

 
PalladinA   (2005-03-03 00:39) [0]

Не подскажете, как можно решить следующие задачи?
1) Есть программа, одни и теже компоненты доступа к данным которой используют две базы данных идентичной структуры (рабочая и учебная). Можно ли как-то из программы переключать BDE на работу с одной БД на другую?
2) Как узнать из программы путь к БД, прописанный в BDE?


 
ЮЮ ©   (2005-03-03 04:17) [1]

завести два алиаса, имя алиаса передавать как параметр, при отсутствии которого брать значение по умолчанию:

procedure TfrmRepDetail.FormCreate(Sender: TObject);
var
 ap: TStringList;
begin
 if DB.Connected then DB.Connected := false;
 if ParamCount > 0 then
   DB.AliasName := ParamStr(1)
 else
   DB.AliasName := "d2003";
 DB.Connected := true;

 // нахождение пути к БД
 ap := TStringList.Create;
 try
   DB.Session.GetAliasParams(DB.AliasName, ap);
   DBPath := ap.Values["Path"];
   if Copy(DBPath, length(DBPath) , 1) <> "\" then
     DBPath := DBPath + "\";
 finally
   ap.Free;
 end;
end;


 
Anatoly Podgoretsky ©   (2005-03-03 08:59) [2]

Для акцесс не мешало бы перейти с БДЕ на АДО/Джет


 
Domix ©   (2005-03-03 09:24) [3]

я делаю вот так создаю псевдоним если он создан то проверяет изменение параметров

procedure Create_Alias;
var
 AParams: TStringList;
 Dir: string;
begin
 Dir := ExtractFilePath(ParamStr(0)) + "BASE"; //Путь к базе. В данном случае
 //это \Каталог программы\BASE
 AParams := TStringList.Create;
 if not Session.IsAlias("cssm") then //Проверка существования псевдонима
   //cssm
 begin
   Session.AddStandardAlias("cssm", Dir, "PARADOX");
 end
 else
 try
   begin
     AParams.Clear;
     AParams.Add("PATH=" + Dir);
     Session.ModifyAlias("cssm", AParams);
     Session.SaveConfigFile;
   end;
 finally
   AParams.Free;
 end;
end;


 
Anatoly Podgoretsky ©   (2005-03-03 09:40) [4]

Если не брать во внимание [2] то желательно использовать TDatabase и забыть про алиасы к базе. Только виртуальный алиас на TDatabase.



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1109232078
Топпер
2005-02-24 11:01
2005.03.27
Log FireBird1.5 SS под Linux


14-1110320589
Soft
2005-03-09 01:23
2005.03.27
Сколько стоит получить патент ... на человеческую душу?


8-1102541657
fashionguide
2004-12-09 00:34
2005.03.27
Вопрос по Bass.dll


14-1110363553
R.D.I.
2005-03-09 13:19
2005.03.27
Сайт kladovka.com.ru приостановил работу?


6-1106575071
Progh
2005-01-24 16:57
2005.03.27
Сохранить вложение из idMessage