|
Вопрос новичка - отображение связанных данных
|
|||
---|---|---|---|
#18+
Есть две связанные таблицы и соответственно два DataGridView, нужно, чтобы при выборе элемента в одном DataGridView отображались связанные данные в другом DataGridView. При связи один-ко многим всё понятно - в BindingSource подчинённой таблицы указываем BindingSource главной таблицы и соответствующую связь. При связи много-ко-многим через связующую таблицу таблицу уже проблема - в BindingSource подчинённой таблицы в поле DataMember невозможно выбрать связь, т.к. связующая таблица находится в отношении подчинения. Я решил проблему через Filter(id в подчинённой тадлице = id в связующей таблице), но оптимально ли это по скорости? Теперь допустим, что у нас в БД много связанных таблиц и две интересующие меня таблицы связаны друг с другом с помощью множества других таблиц (в т.ч. попадаются связи много-ко-многим) и нужно писать сложный запрос JOIN. Как тогда оптимально решить задачу? В TableAdapter или DataAdapter на сколько я знаю рекомендуется хранить только одну таблицу, да и не будешь же при выборе юзером любой записи в DataGridView каждый раз подключаться к серверу заполнять DataSet. Создават объект Command и выполнять SQL запрос каждый раз при выделении юзером новой записи в DataGridView, а потом вручную заполнять DataGridView подчинённой таблицы? Не думаю, что это оптимально по скорости, каждый раз дёргать сервер. Как оптимально решить эту задачу? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2012, 18:05 |
|
Вопрос новичка - отображение связанных данных
|
|||
---|---|---|---|
#18+
Igor.Pashin, Напишите хранимую процедуру, которая возвращала бы все нужные вам наборы данных (3 или более) и вызовете её один раз, а после этого "пробежите" по этим наборам DataReader-ом.. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2012, 14:48 |
|
|
start [/forum/topic.php?fid=17&gotonew=1&tid=1350425]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 460ms |
0 / 0 |