Читаем Обработка баз данных на Visual Basic®.NET полностью

Обратите внимание, что в данном примере создано отношение между двумя таблицами из баз данных совершенно разного типа!

Скомпонуйте проект BusinessCase7 и попробуйте найти родительскую запись в таблице Customers и ее дочерние записи из таблицы Orders, как показано на рис. 7.6.

РИС. 7.6. Пример представления результатов в форме frmShowOrders

НА ЗАМЕТКУ

Пусть вас не смущает, что сетка данных Orders (см. рис. 7.6) будет содержать поле с именем OrderAmount, а не поле Amount, как определено в таблице SQL Server. Дело в том, что данные о клиенте поступают из базы данных SQLServer, а данные о его заказах — из совершенно другой "унаследованной" базы данных Access типа MDB. Поэтому вполне естественно, что имена объектов в разных базах данных могут иметь различные имена.

Для исправления имени поля можно использовать приведенную ниже команду с предложением AS для изменения имени поля в данных, которые возвращаются для объекта daOrders с помощью команды SELECT.

SELECT CustomerID, ID, As Amount, OrderDate

FROM tblOrder

С течением времени необходимость комбинирования данных из разных источников будет расти, поскольку современные компании стремятся расширять круг своих партнеров и объединяются с другими компаниями, которые могут хранить и использовать свои бизнес-данные в совершенно разных форматах. В последнее время растет популярность формата XML, который позволяет очень просто и быстро переносить данные о заказах и продуктах между разными компаниями. Для объекта DataSet формат XML представляет собой еще один способ вставки данных в таблицы из разных источников данных. Более подробно способы вставки данных в объект DataSet в формате XML описываются в главе 10, "ADO.NET и XML".

Строго типизированные наборы данных

До сих пор обсуждались варианты использования нетипизированного объекта DataSet. Однако в модели ADO.NET и среде Visual Studio. NET предусмотрены способы создания типизированных объектов DataSet. Типизированный объект DataSet является производным от нетипизированного класса DataSet, но содержит объекты, методы, свойства и события, специфические для используемой схемы данных. Она определяется в файле схемы с расширением .xsd, а в среде Visual Studio .NET предусмотрены графические инструменты для генерации набора классов на основе этой схемы.

Поскольку типизированный объект DataSet является производным от нетипизированного класса DataSet, он наследует все функции, свойства, методы и события, а значит, может использоваться в тех же ситуациях, где применяется нетипизированный класс DataSet. Однако его элементы являются строго типизированными и предлагают дополнительные функции, что способствует повышению производительности и надежности.

• Типизированные объекты DataSet, DataTable и DataRow являются специализированными для используемой схемы.

• Типизированные объекты DataColumn и DataRelation предлагаются как специализированные именованные свойства, а не универсальные элементы коллекций.

• Для типизированных объектов можно выполнять проверку типов во время компиляции.

• В редакторе кода в среде Visual Studio .NET предусмотрено использование средства IntelliSense.

• Код имеет более краткую и читабельную форму.

Например, команда указания нового значения для поля таблицы будет иметь следующий вид:

dsCustomers.tables("Customers").Rows(row)("FirstName") = NewValue

Здесь row — это индекс в коллекции записей Rows таблицы Customers, FirstName — поле таблицы Customers, a NewValue — новое присваиваемое значение. При таком кодировании нетипизированного набора данных могут возникать разные ошибки. Соответствует ли тип нового значения NewValue типу поля, которому оно присваивается? Существует ли таблица Customers? Существует ли поле FirstName? Правильно ли указано имя поля или таблицы? При этом получить сообщение об ошибке можно будет только во время выполнения приложения.

Однако при использовании типизированного набора данных все свойства имеют специализированные значения для заданной схемы, а потому проверка типов выполняется еще во время создания приложения. Соответствующий код для типизированного набора данных DataSet с таблицей Customers будет иметь вид

dsCustomers.Customers(row).FirstName = NewValue

Перейти на страницу:

Похожие книги

iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT