Здравствуйте, Ozone, Вы писали:
O>Подскажите, как обратиться ко всем таблицам (TTable, TQuery), т.е. для того, чтобы, например, открыть/закрыть их все.
У TDatabase есть свойства: DataSetCount и DataSets. Перебирай и закрывай/открывай.
Здравствуйте, mrhru, Вы писали:
M>Здравствуйте, Ozone, Вы писали:
O>>Подскажите, как обратиться ко всем таблицам (TTable, TQuery), т.е. для того, чтобы, например, открыть/закрыть их все.
M>У TDatabase есть свойства: DataSetCount и DataSets. Перебирай и закрывай/открывай. M>
Здравствуйте, Ozone, Вы писали:
O>Я не использую компонент TDataBase. Как быть?
...
...
// DM : TDataModule;
// i : integer;for i := 0 to DM.ComponentCount - 1 do
if DM.Components[i] is TDataSet then
TDataSet(DM.Components[i]).Active := false;
...
...
... << RSDN@Home 1.0 beta 6a... наслаждаюсь eto on >>
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Здравствуйте, Ozone, Вы писали:
O>Здравствуйте, mrhru, Вы писали:
M>>Здравствуйте, Ozone, Вы писали:
O>>>Подскажите, как обратиться ко всем таблицам (TTable, TQuery), т.е. для того, чтобы, например, открыть/закрыть их все.
M>>У TDatabase есть свойства: DataSetCount и DataSets. Перебирай и закрывай/открывай. M>>
O>Я не использую компонент TDataBase. Как быть?
А к чему "прицеплены" TTable и TQuery?
Ну ладно, и без TDataBase можно — перебором компонентов модуля:
for i:=0 to DataModule1.Components.Count - 1 do begin
if DataModule1.Components[i] is TDataSet then begin
TDataSet(DataModule1.Components[i]).Close();// или .Open() - что больше понравится :)end;
end;
Здравствуйте, mrhru, Вы писали:
M>Ну ладно, и без TDataBase можно — перебором компонентов модуля:
............
TDataSet(DataModule1.Components[i]).Close();// или .Open() - что больше понравится :)
............
рекомендую пользовать не Close и Open, а DataSet.Active := false; (для Close) и, соответственно, DataSet.Active := true; (для Open).
это связано с тем, что при попытке выполнить метод Close (Open) на закрытом (открытом) датасете получишь ексепшн, а при присвоении проперти Active — не будет никакого ексепшна
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Здравствуйте, _MarlboroMan_, Вы писали:
_MM_>Здравствуйте, Ozone, Вы писали:
O>>Все здорово работает, но как мне теперь можно всем им присвоить один DatabaseName:=dir (где dir: string)
_MM_>да точно так же
Здравствуйте, Ozone, Вы писали:
O>Но ведь у TDataSet нет свойства DatabaseName??
дык тебя же никто не заставляет работать с TDataSet... можешь искать среди компонентов TDBDataSet... у него есть и TTable и TQuery от него "происходят"
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...