![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перестроить Query на другой альяс? [D5, Paradox]
Stocker ! © (2002-05-20 10:23:00)Имеется запрос который в зависимости от выбранного в меню пункта делает запросы к разным БД. Делаю так ругается EAccessViolationError:
Query.SessionName:="Session1";
Query.Database.AliasName:="Base";
juster (2002-05-30 10:02:00) [1]Напрямую работать с сессиями не получиться. Для разных баз можно использовать TSession.GetAliasNames или TSession.GetAliasParams.
к примеру:
var Index : integer;
Path : string;
begin
UniList := TStrsingList.Create;
with Session1 do
begin
Open;
ConfigMode := cmSession;
GetAliasNames(UniList);
if not UniList.Find("WWW",Index) then
AddStandartAlias("WWW","","PARADOX");
UniList.Clear;
UniList.Add("PATH=D:\DB\WWW");
ModifyAlias("WWW", UniList);
UniList.Clear;
GetAliasParams("WWW", UniList);
Close;
end;
end;
Теперь UniList используй для своих целей.
И еще после открытия сессии задается ограничение на использование в сессии только созданных в ней псевдонимов (свойство ConfigMode).
Nikolay M. (2002-05-20 16:24:00) [2]1) только, видимо, не "Query.Database.AliasName:=", а "Query.DatabaseName:="
2) а лучше создай несколько экземпляров TDatabase-ов, и переключайся между ними, а не между alias-ами, раз уж приспичило иметь несколько баз...