Главная страница
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.026 c
14-1110284287
Novice__
2005-03-08 15:18
2005.03.27
Беспроводная сеть


1-1110655753
Evgenos
2005-03-12 22:29
2005.03.27
ListBox.Color проблема


14-1110319566
ArMellon
2005-03-09 01:06
2005.03.27
GeForce2 MX VGA BIOS где найти дрова?


4-1108383439
whitepower
2005-02-14 15:17
2005.03.27
Сообщения у области tray


1-1110449454
Teuton
2005-03-10 13:10
2005.03.27
Ctrl+Del в DBGrid