Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / join в DataSet / 10 сообщений из 10, страница 1 из 1
13.10.2005, 09:15
    #33321560
Akter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
Пишу программу на С#, cоздаю DataSet, в который помещаю две таблицы из разных баз. Как можно объеденить эти таблички по какому-либо полю для отображения в DataGrid?
...
Рейтинг: 0 / 0
13.10.2005, 11:10
    #33321930
Akter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
Смысл не в том как связать таблицы, а в том как отобразить их в DataGrid поля таблицы1 + поля таблицы2
И вообще можно ли такое делать? Может что-то типа SELECT можно использовать?
...
Рейтинг: 0 / 0
17.10.2005, 21:52
    #33329198
Sv219
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
такое делать можно, пример...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT
	pr.CodeProduct, 
	, t.weightPackage
	, p.Id
	FROM price pr
	INNER JOIN package p ON p.id = pr.IdPackage
	LEFT JOIN tonnage t ON CASE p.NamePackageShort
и пихаешь результат етого запроса в дататейбл
...
Рейтинг: 0 / 0
18.10.2005, 13:58
    #33330416
Akter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
А как этот запрос цепляется к таблицам в DataSet?
...
Рейтинг: 0 / 0
19.10.2005, 07:05
    #33331980
Sv219
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
ну как... создаешь дата тейбл заполняешь его данными посредством того запроса который я те паказал, а дальше с этим дата тейблом делай что хошь
...
Рейтинг: 0 / 0
19.10.2005, 09:00
    #33332085
Akter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
я же писал:
Код: plaintext
 две таблицы из разных баз
А как написать такой запрос к разным базам? Тем более одна InterBase, вторая Access. А кодда они в одном DateSet, то вроде уже как в одной, но вот запрос написать не получается
...
Рейтинг: 0 / 0
19.10.2005, 11:19
    #33332475
Sv219
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
Akterя же писал:
Код: plaintext
 две таблицы из разных баз
А как написать такой запрос к разным базам? Тем более одна InterBase, вторая Access. А кодда они в одном DateSet, то вроде уже как в одной, но вот запрос написать не получается

если разные базы в таком плане, тогда первое что мне приходит в голову, не думая, это создать 3 дататейбл и заполнять его руками... выдираешь из 1го и 2го дататейбла строки по ключевому полю, и вставляешь их в 3ий
...
Рейтинг: 0 / 0
19.10.2005, 11:56
    #33332609
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
Сам копаю в этом направлении, но накопал только это пока:
Вот цитата из Д.Сеппа

ГЛАВА 7 Работа с реляционными данными 263
Поиск связанных данных
Одно из основных применений объекта DataRelation — поиск связанных данных
в различных объектах DataTable. Тем не менее непосредственно объект DataRelation
не предоставляет такой функциональности — она реализуется методами GetCbiidRotws, GetParentRow и GetParentRows объекта DataRow. Так каким же образом Data-
Relation участвует в таком поиске? Упомянутые методы принимают в качестве
параметра объект DataRelation. Давайте подробно разберем, что представляют собой
эти методы и как их использовать,
Метод GetChildRows объекта DataRow
Поиск связанных с родительской записью дочерних записей в другом объекте
DataTable — очень простая задача. Для этого достаточно вызвать метод GetCbudRows
нужного объекта DataRow и передать ему имя объекта DataRelation, определяю-
щего отношение между объектами DataTable. Вместо имени можно также пере-
дать сам объект DataRelation. Метод GetChildRows возвращает связанные данные в
виде массива объектов DataRoiv.
Следующий фрагмент кода вызывает метод GetChildRows и просматривает воз-
вращаемые им данные;
Visual Basic .NET
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
'Просматриваем записи о клиентах
Din rowCustomer, rowOrder As DataRow
For Each rowCustomer In ds.Tables("Customers").Rows
Console, WriteLine(rowCustomer("CustomerID") & " - " & _
rowCustomer("CompanyName"))
'Просматриваем заказы, размешенные этими клиентами
For Each rowQrder In rowCustomer. GetChildRowsC'fielationName")
Console. WriteLine(vbTab & rowOrder("Order!D") & " - " * _
rowOrder("OrderDate"»
Next rowOrder
Next rowCustomer
...
Рейтинг: 0 / 0
19.10.2005, 15:51
    #33333418
Akter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
Пока использую нечто подобное, предложенное Sv219. Читаю построчно DataReader с записями первой базы, делаю запрос с ключевым полем ко второй базе, результат помещаю в DataGrid.
Не считаю это оптимальным вариантом, но для моего случая подходит. Все же хотелось бы разобраться в этом до конца, ведь может понадобиться и для более сложной задачи, да и возможность писать запросы именно в DataSet дала бы большие возможности...
...
Рейтинг: 0 / 0
20.10.2005, 11:35
    #33334655
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
join в DataSet
Но я у Сеппа больше ничего не нашел, кроме восторгов по поводу DataRelation и недоумений зачем вам соединяющие запросы.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / join в DataSet / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]