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

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

Как dataset сделать активным?


mfender ©   (2003-09-11 01:10:00) 

for n:=0 to base.DataSetCount-1 do
begin
if (base.DataSets[n] is TTable) or (base.DataSets[n] is TQuery) then
base.DataSets[n].Active:=True;
end;


по понятным причинам не работает. А как бы их включить, не используя Table1.Active:=True; Table2.Active:=True; .... TableN.Active:=True; ?


Rol   (2003-09-11 10:19:00) [1]

ну а какую ж ещё :)


mfender   (2003-09-11 06:14:00) [2]

Хочется конкретики. Убедится, что включит он именно эту TTable.


Кщд   (2003-09-11 05:48:00) [3]

почему бы не просто TTable(Components[n])? Зачем искать то, что уже имеем? :)


mfender   (2003-09-11 03:18:00) [4]

Немного неправильно изложил. Вот так получилось:

with dm do begin
for n:=0 to ComponentCount-1 do
begin
if (Components[n] is TTable) then
TTable(FindComponent(Components[n].Name)).Active:=True;
if (Components[n] is TQuery) then
TQuery(FindComponent(Components[n].Name)).Active:=True;
end;
end;


mfender   (2003-09-11 02:36:00) [5]

на всякий случай, мало ли, какие датасеты могут попасться, а мне нужно только TTable и TQuery. Но это не важно. Все равно это не работает, т.к. DataBase.DataSetCount показывает только количество активных датасетов. А мне как раз требуется их привести в активное состояние. Я решил сию задачу проще:

for n:=0 to DataModule.ComponentCount-1 do
begin
if (DataModule.Components[n] is TTable) or (DataModule.Components[n] is TQuery) then
Active:=True;
end;


jack128   (2003-09-11 01:41:00) [6]

а зачем проверка is Ttable и is Tquery?

TADOConnection.DataSets
property DataSets[Index: Integer]: TCustomADODataSet

имхо (base.DataSets[n] is TTable) or (base.DataSets[n] is TQuery) всегда false...


Наверх

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