![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DataSource у TQuery [D6, Sybase]
Yakudza © (2004-06-17 17:05:00)Обьясните как работает связывание одного датаcета с другим.
Будет ли аналогом обрабатываеть событие AfterScroll, у главного соурса. Наример вместо указания DataSource у Query2 - DataSource1 написать в событии AfterScroll у Query1 -
Query2.Close;
Query2.SQL.Text := 'SELECT * FROM table WHERE id = :ID';
Query2.ParamByName('id').AsInteger := Query1.FieldByName('id').asInteger
Query2.Open
Yakudza (2004-06-21 13:05:00) [1]Спасибо!
Anatoly Podgoretsky (2004-06-18 09:48:00) [2]Yakudza © (17.06.04 18:06) [3]
По сути, при перемещении указателя происходит запрос данных в подчиненую таблицу, где в качестве опорных данных берутся поля из главной. Тоже можешь делать и в AfterScroll при этом даже можно повысить быстродействие если запрос делать не на каждое перемещение, а по паузе, весьма эффективно и поведение будет похоже на поведение проводника, при этом уменьшится нагрузка на сеть.
Sergey13 (2004-06-18 09:44:00) [3]А я такие штуки часто вообще на изменения в визуальных контролах вешаю. Иначе можно нарваться на неприятные вещи типа при заполнении комбобокса какого нить значениями мастер-таблицы втаскивается поочереди с сервака вся здоровенная детальная таблица.
Johnmen (2004-06-17 18:09:00) [4]>Yakudza © (17.06.04 18:06) [3]
>А по результату ?
Anatoly Podgoretsky © (17.06.04 17:14) [1]
Yakudza (2004-06-17 18:06:00) [5]2Johnmen © (17.06.04 17:14) [2]
А по результату ?
Anatoly Podgoretsky (2004-06-17 17:14:00) [6]Да это эквивалент
Johnmen (2004-06-17 17:14:00) [7]Строго говоря, аналогом по "реализации" не будет.