Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 128

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 122 123 124 125 126 127 < 128 > 129 130 131 132 133 134 .. 260 >> Следующая

Постепенный отказ от соединяющих запросов
Многие разработчики получают данные из нескольких таблиц при помощи со-запросов. вы имеете право поместить результаты запроса,
возвращающего данные нескольких таблиц, в объект DataTable, но обычно я не
рекомендую этот способ. Как рассказывается в главе 10, объект OaictAdcipt'-) предназначен для просмотра изменений, хранящихся в отдельном объекте DataTable и передачи их в конкретную таблицу вашей БД. Таким образом, для изменения содержимого объектов DataTable данные следует поместить в отдельные объекты
DataTable, соответствующие таблицам БД.
И что же нам делать с соединяющими запросами?
Простейшее решение — разделить их на запросы, возвращающие данные отдельных таблиц. Тем не менее чаще легче это сказать, чем сделать. В приводившихся фрагментах кода я использовал очень простые запросы, возвращающие все записи таблицы. Когда вы имеете дело с запросом, включающим фильтр, ситуация усложняется:
SELECT ¦. : н .: ¦'. Con tact Name, Phone
FROM Customers WHERE Country = 'Canada'
Если вам нужны только данные из связанной таблицы Orders, следует получить только сведения о которые разместили этим запросом кли-
енты. Поскольку в таблице Orders нет столбца Country, придется воспользоваться
запросом, ссылающимся на таблицу Customers:
SELECT 0. OrderlD, 0. CustomerlD, 0. Employee ID, O.OrderDate FROM Customers C, Orders 0
WHERE C.CustomerlD = 0.OrderlD AND C. Country = 'Canada'
ГЛАВА 7 Работа с реляционными данными
279
Создание объектов DataRelation в Visual Studio .NET
Обсудив основные возможности объектов DataRelation, давайте разберем, как создавать их в Visual Studio .NET.
Добавление объекта DataRelation в объект DataSet со строгим контролем типов
В главе 6 я рассказал, как создавать объекты DataSet со строгим контролем типов средствами Visual Nudin Г. ЧтГц,, просмотреть структуру объекта DataSet в конструктореХМЬ Schema Designer, дважды щелкните файл проекта DataSet f.xsd) в окне Solution Explorer.
Щелкните объект DataTable, который станет в отношении родительским, правой кнопкой и выберите Add\New Relation (рис. 7-7). Можно также воспользоваться меню Schema среды Visual Studio .NET. Откроется диалоговое окно (рис. 7-8). позволяющее добавить новый объект DataRelation.
pta Eft >~ Vivrj. Вис L!«
1
EkT
or?
Г lortactaI : r 'r• j г <mh»rt!l*! *tWQ p Шгк ilrnj
il IS
L.' ji,:
I. ядомйй tfrnc
¦ . l : :J" nt
f ""эл'Гчс* <Ы*Тгтр»
8*
>^ fra-op
* Cat tfe Mi
4 4««it№« Ii". N»«1141
Рис, 7-7. Открытие диалогового ¦ .ei * a Edit Relation
В диалоговом окне Edit Relation для - объекта I >uiu!<ciaiinu задают дочерние и родительские объекты Data Table и OataColumn. Кроме того, здесь можно задать значения свойств ограничения Ftr.vtynKvy-
Constraint, связанного с новым объектом DataRelation. Если необходимо создать только ограничение ForeignKeyConstraintH новый объект DataRelation не требуется, пометьте флажок Foreign Key Constraint Only.
Щелкните ОК. В конструкторе XML Schema Designer появится графическое представление нового объекта DataRelation — тш-шя. соединяющая два объекта DataTable (рис. 7-9).
а
280
Часть III Автономная работа с данными: объект DataSet модели ADO.NET
ken.. nkfLZijiiZnT! їогіаптев <Ы*олФс(|«уг1в*з, retortfhoparent dwneri and k»y, re*cLthe Wl ¦ and then мієї» i-'ccmid heW сигеяшгчЛпд t.: Mch cai*nrf»ld

IcuxtHrvF

jtJ «&,, j
, им.. . „
' l-jtuwl (.¦irtorerlli
1
Datasrt Prtpftrtfe !" Grata Г:.і-!і.злtoy 1,1." *¦
2 $w*jt:~
"3
Рис. 7-8. Добавление нового объекта DalaRettitkm в диалоговом окне Edit Relation
№11 ti і Ii iw і і ц' і u nlkiiil ик\тшпл\ tfbiwUMm- .Ml 1 |.tV'.v,m| mnfakhl. aid*
« % • I4' '
в б fє ш •
ladt шш Bfc
IS -* » Debug
- mW і
txrr
ГчЧІ^й ї • і"']
і Address fl-jng
ЯВЬ
ftOdsrint t CuetomtrlD ttrrng ; ?' і il-i-jft'.' і I ¦ mt F. 0~йе:О?::е
f. Pepm-edCs* dateTir»
І ГінЬкпп-iOriJera ЗВіЙЩ tt •
?, fij I CO
- ji.:^-(F'*««fti>iL-?'-'j<..
¦:- CeBtraWftiaii»
<Ci*=i_Uun)
!-4".
'iMK . i>* ...-r-1 i. - і 11- - ,
геїн mitmikeyl
selector " Хдамкмёп
Update-Rule (.Default)
5 Wid ш
TO dgringaniyQITI
jjff FTupW №5 [О' - 1
Рис. Новый объект DataRelation
Добавление объекта йагаИвІаПоп в объект ОаґаБеґ без контроля типов
Объекты ВагаВ.еШ1оп разрешается также добавлять в объекты Ваіа8ві без контроля типов. В предыдущей главе рассказывалось, как добавить объект Бага8е1 без контроля типов в область иро?-ктн{><Ж!мня, например на \^'еЬ-форму. и затем до-
ГЛАВА 7 Работа с реляционными данными
281
в него объекты и П&ъСФлж*, Добавить новый объект DataRelation
шстсдыко же просто.
Выберите объект DataSet в панели компонентов области проектирования и затем выберите свойство Relacions в окне Properties. В правой части строки свойства появится кнопка для запуска мастера Relations Collection Editor (рис. 7-10).
Relations Collection tdilor
Рис. 7-10. Добавление нового объекта DataRelation в объект
Предыдущая << 1 .. 122 123 124 125 126 127 < 128 > 129 130 131 132 133 134 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100