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

 

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

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

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 141 142 143 144 145 146 < 147 > 148 149 150 151 152 153 .. 260 >> Следующая

Visual Basic .NET
Dim ds As New Cfcapter8()
Dim tblCustomers As Chapters.CustomersDataTable = ds.Customers Dim rowCustomer As Chapter9.CustomersRow
rowCustomer = tblCustomers.NewCustomersRowC) rowCustomer. CustomerlD = "ABCDE" rowCustomer.CompanyName = "New Company" rowCustomer.ContactNarae = "New Contact" rowCustomer. Phone = "(800) 555-1212" tblCustomers.AddCustomersRow{ rowCustomer)
'Вместо
Dim rowCustomer As DataRow = tbiCustomers.NewRow( ) rowCustomer("CustomerlD") = "ABCDE" rowCustomer("CompanyName") = "New Company" rowCustomer("ContactName") = "New Contact"
'2-595s
330
Часть (II Автономная работа с данными: объект DataSet модели ADO.NET
rowGiistomer("Phone") = "(890) 555-1212" tblCustomers.Rows.Add(rowCustomer)
Visual C# .MET
Chapter9 ds = new Chapter9();
Chapter9.CustomersDataTable tblCustomers = ds.Customers;
Chapters.CustoaersRow rowCustomer = tblCustomers. NewCustomersFowQ;
rowCustomer.CustomerlD = "ABCDE" ;
rowCustomer.CompanyName = "New Company";
rowCustomer.ContactName = "New Contact";
rowCustomer.Phone = "(800) 555-1212";
tblCustomers.AddCustomersRow(rowCustomer) ;
//Вместо
DataRow rowCustomer = tblCustomers.NewRowO; rowCustomer["CustomerID"] = "ABCDE"; rowCustomer["CompanyName"] = "New Company") rowCustoiner[ "ContactName"] = "New Contact"; rowCustomer["Phone"] = "(800) 555-1212"; tblCustomers.Rows.Add(rowCustomer);
Если просто смотреть на код в книге, преимущества использования объектов DataSet со строгим контролем типов неясны. Открыв код в среде разработки Visual Studio .NET. вы четче поймете, чем же .хороши такие объекты..
:Vviiiiiirtw4*i>jHV<,ijr.i., MiaariMi vtaji^rHjn ,411 {drtignf F^mi tfK
p
r
ft,
- in - № В t* *¦ ^ ••' ¦ ¦ • Щ ¦ ' I I
sou;., -г «чч*.
1 и*
Foi ml Laad
T iL 11 и* *l«tf» Tcciel
tfjJS*
-¦I
1
: in ШГ vi Neu ChaptCi9(i
[•im ^t.'J^rcHDerF Аэ 'JhaT^e^.cue'.iwitzaJr»lieble ¦ (um г о x< ust сом т \ъ C'rtasrrrt.CuotdanccjFov ГПиГгнггсищг - ^ЫГшггтаг = .КшГил! пке^гт
L о fc'C'-J lODtl. , С СЯЛ lHdcE II1 - "ITC M"
г 1V.-.¦.гтгпк; , cerri япу1Ч«и - HKcv ¦. cirv»i.y rowiliua-ciwt.ilcntaetjrjeire - "Kev tomact"
«»IHM ^|
4 i -Ct.".....NJI
Uff ftf "h Из?
End Sub
End
if ffl
"J4EUf
• I '¦: fi:-, j.arujc:
Рис. Использование объекта DataSet со строгим контролем
типов в коде в Visual Studio .NET
На рис. 9-3 показан снимок среды разработки. Как видно, все поля объекта DataRow со строгим контролем типов перечислены в списке автодополнения. Когда в Visual Basic 5 появилось автодополнение операторов, я трепетал от радости. Тем
ГЛАВА 9 Работа с объектами DataSet со строгим контролем типов
331
не менее, если в коде на Visual Basic 6 и ADO 2.x я неправильно вводил имя поля, ошибка ooi!:1[)уж!ш;|'!,";:. i лишь при запуске приложения. Объекты DataSet со строгим контролем типов и функция автодополнения операторов позволяют избавиться от таких проблем еще на стадии разработки.
Как и метод.<¦</</ набора DataUowCottection, методАс1сКИмяТабл1щы>Но1т6ъсктя DataTable со строгим контролем типов перегружен. В следующем фрагменте кода используется объект ihiialahk с именем Customers из состава созданного нами ранее объекта DataSet:
Visual Basic NET
Dim ds As New Chapier9()
Dim tblCustomers As ChaptersCustomersDataTable = ds.Customers tblCustomers,AddCustomersRowC'ABODE", "New Company",
"New Contact", "(800) 555-1212")
'Вместо
tblCustomers.Rows.Add(New ObjectO {"ABODE", "New Company", _
"New Contact", "(800) 555-1212"))
Visual C# .NET
iChapteri ds = new Chapter9();
ChaptersCustomersDataTable tblCustomers = ds.Customers; tblCustomers.AddCustomersRow("ABCDE", "New Company",
"New Contact", "(800) 555-1212");
//Вместо
"New Company",
"New Contact", "(BOO) 555-1212"});
Благодаря технологии IntelIbcnv.- и автодополнению операторов, эта функция выглядит все более и более впечатляющее по мере как вы пишете код. В Visual Studio .NET имена параметров метода автоматически отображаются при вводе текста, и вам не требуется к другим частям кода и искать имена и
порядок полей.
Поиск записи
В случае с обычным объектом DataSetпоиска записи по значению ее первичного ключа можно воспользоваться методом Find набора Rows объекта Dak.'t'abh Иногда метод Find неудобен, особенно если для объекта DataTable определен первичный ключ, состоящий из нескольких полей. Например, первичный ключ таблицы Order Details БД Northwind включает поля OrclerlD и ProductlD. Код поиска записи в соответствующем объекте DataTable. использующий метод Find, будет выглядеть так:
Visual Basic
Dim tblDetails As DataTable Dim rowDetail As DataRow
rowDetail = tblDetails. Find(New ObjectO 110245, 7})
332 Часть III Автономная работа с данными: объект DataSet модели ADO NET
Visual C# .NET
DataTable tblDetails;
DataRow rowDetail;
rowDetail = tblDetails.Findfnew object[] ! 1(1245, 7}):
Данный код р.нкпзет, но. создавая его, можно запутаться. И что более важно, можно запутаться при его чтении, а это затрудняет его поддержку.
Если для объекта DataTable определен первичный ключ, соответствующий класс DataTable из чклльл класса DataSet со строгим контролем типов предоставляет собственный метод Find. Добавив в наш класс DataSet класс DataTable, соответствующий таблице Order Details, мы сможем заменить предыдущий фрагмент кода следующим, более простым в поддержке и написании:
Предыдущая << 1 .. 141 142 143 144 145 146 < 147 > 148 149 150 151 152 153 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100