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

  Me.lstOutput.Items.Add( _

   ds.Departments.IDColumn.ColumnName _

   & ": " & row.ID.ToString)

  Me.lstOutput.Items.Add( _

   ds.Departments.DepartmentNameColumn.ColumnName _

   & ": " & row.DepartmentName)

 Next

End Sub

В подпрограмме btnTypedDataSet_Click сначала используется метод Fill объекта daDepartments для вставки данных в таблицу Department. Затем вызывается подпрограмма DisplayDepartments для отображения содержимого таблицы с помощью циклического обхода всех записей таблицы с указанием имени поля и значения в нем. Этот подход несколько отличается от описанных ранее.

• Переменная row создается с указанием типа записи DepartmentDS.DepertmentsRow, а не как универсальный объект DataRow.

• Таблица Departments доступна как свойство объекта ds.Departments, а не как элемент коллекции таблиц Tables, т.е. ds.Tables("Departments").

• Поля таблицы доступны как свойства объекта-таблицы, например ds.Column и ds.Departments.DepartmentNameColumn, а не как элементы коллекции полей Columns, т.е. ds.Tables("Departments").Columns("ID") и ds.Tables("Departments").Columns("DepartmentName").

• Значения полей доступны как свойства объекта-записи, например row.ID и row. DepartmentName, а не как элементы коллекции значений Items объекта-записи Rows, т.е. row("ID") и row("DepartmentName").

На рис. 7.8 показано, как типизированные свойства (например, DepartmentName) представлены в контекстном меню средства IntelliSense, которое ускоряет процесс создания кода.

РИС. 7.8. Контекстное меню средства IntelliSense со свойствами типизированного объекта DataSet

Резюме

В этой главе рассматривается несколько важных аспектов создания приложений баз данных в модели ADO.NET. Обработка параллельных попыток доступа к данным является важным компонентом многопользовательской системы, особенно при работе с набором данных в неподключенном режиме. Отображения таблиц и полей существенно улучшают читабельность и упрощают процесс сопровождения кода. С помощью объектов-представлений одни и те же данные можно представлять по-разному со своим собственным фильтром и параметрами сортировки. Наконец, строго типизированный объект — набор данных позволяет применять усовершенствованные функции и повышает читабельность кода при использовании в особых ситуациях.

Вопросы и ответы

Мне понятно, как определить нарушение параллельного доступа, но как его устранить?

Ответ на этот вопрос зависит от конкретного приложения. Во-первых, при обнаружении нарушения параллельного доступа можно повторно отправить запрос к базе данных и начать работу с начала. Во-вторых, можно позволить второму пользователю переопределить изменения, внесенные первым пользователем. В-третьих, право окончательного выбора можно предоставить пользователю, предлагая ему все три набора данных: исходные значения, текущие значения и измененные им значения. Наконец, можно предложить алгоритм или логические правила для определения оптимального варианта самим приложением. При этом определяющим фактором выбора может быть приоритет или роль пользователя (например, изменения, внесенные руководителем, имеют более высокий приоритет, чем внесенные рядовым сотрудником). В модели ADO.NET и среде Visual Studio .NET предусмотрены специальные инструменты для обнаружения нарушений при параллельном доступе к данным. Разработчику остается только выбрать наиболее подходящие для создаваемого приложения.

Всегда ли следует использовать типизированные наборы данных?

Как обычно, ответ на этот вопрос зависит от конкретного приложения. В данной главе описаны преимущества типизированных наборов данных, но иногда предпочтительнее использовать нетипизированные наборы данных. Это верно в тех случаях, когда схема набора данных не известна или может изменяться. Классическим примером такой ситуации является использование незапланированных запросов, которые создаются пользователем при работе с приложением. Кроме того, схема может находиться в XML-файле, содержимое которого не известно во время создания приложения и генерации типизированного набора данных.

Еще одним недостатком использования типизированных наборов данных является необходимость повторной генерации и компиляции типизированных объектов — наборов данных при изменении схемы данных.

Наконец, стандартный нетипизированный объект DataSet настолько прост в использовании, что он может служить альтернативным вариантом для работы с данными без применения какой-то определенной схемы. Дополнительными преимуществами объекта DataSet является возможность работы с данными в формате XML.

ГЛАВА 8

Работа с проектом базы данных среде Visual Studio .NET

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

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

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