|
Dataset: 1 таблица или несколько?
|
|||
---|---|---|---|
#18+
Оно, конечно, хорошо, когда 2 таблицы, да еще с релейшнами, в одном датасете, но вот на практике зачем это нужно?! Вот классический пример: предположим, имеем на сервере таблицы Clients и Orders. Требуется получить перечень всех заказов с указанием имени клиента. 1 вариант: делаем SELECT Orders.Number, Clients.Name FROM Orders INNER JOIN Clients ON Clients.ID=Orders.ClientID и засовываем полученное в любой грид. 2 вариант: отдельно SELECT Orders.Number, Orders.ClientID FROM Orders -это в Dataset.Table(0), отдельно SELECT Clients.ID, Clients.Name - это в Dataset.Table(1), тэйблы наши уже релейшном связаны, все гуд, потом бежим по table(0), цепляем через GetParentRow имя клиента и все ето опять таки плюем в грид. Вопрос: чем 2 вариант лучше 1-го? Если не лучше, тогда где ж можно применить всю мощь многотабличного датасета? Не догоняю я чего-то в этом дотнете... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 10:37 |
|
Dataset: 1 таблица или несколько?
|
|||
---|---|---|---|
#18+
В описаном случае однозначно надо действовать по 1-му варианту. НО. Например, если требуется редактировать данные, тогда можно (иногда нужно) действовать по 2-му варианту. Т.е. данные размещаются в оперативной памяти клиента (ДатаСет), какой-нибудь там менеджер или администратор совершает все необходимые манипуляции, проверяет все, а потом сохраняет плоды своего труда на сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 10:58 |
|
|
start [/forum/topic.php?fid=17&fpage=129&tid=1354153]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 447ms |
0 / 0 |