Typed Dataset с join'ed - таблицами
От: Аноним  
Дата: 08.06.04 18:23
Оценка:
Есть задача: получить из двух таблиц некоторую вырезку. Например:



Use Northwind
Select Employees.EmployeeID, Orders.OrderID from Employees 
        join Orders on Employees.EmployeeID = orders.EmployeeID
    where Employees.LastName = 'Fuller' And Orders.ShipVia = 2


Получаем 36 строк, отображающих нужную нам информацию.

Теперь пытаемся сделать это с помощью Typed dataset. Создаем новый dataset, перетаскиваем
в него одну таблицу, другую... Один DataAdapter, другой... Relations устанавливаем,
как положено... А как между ними задать этот самый join? Вариантов два,
на мой взгляд: либо в каждую таблицу dataset гнать все данные без учета соединения

В первую —

Select Employees.EmployeeID from Employees where Employees.LastName = 'Fuller'

Во вторую —

Select Orders.OrderID from Orders where Orders. ShipVia = 2
,

Либо же делать на каждый DataAdapter свой запрос:

Select Employees.EmployeeID from Employees 
        join Orders on Employees.EmployeeID = orders.EmployeeID
    where Employees.LastName = 'Fuller' And Orders.ShipVia = 2

и, соответственно,

Select Orders.OrderID from Employees 
        join Orders on Employees.EmployeeID = orders.EmployeeID
    where Employees.LastName = 'Fuller' And Orders.ShipVia = 2


В первом случае получаем оверхед по передаче данных, во втором — два запроса вместо одного,
и это еще хорошо, что таблиц всего две, а запросы — тривиальные.
Вопрос: как сложный join-запрос по нескольким таблицам с большим количеством данных
загнать в dataset? Или dataset'ы для этого вообще не предназначены?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.