Читаем Обработка баз данных на 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

<p>Резюме</p>

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

<p>Вопросы и ответы</p>

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

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

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

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

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

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

<p>ГЛАВА 8</p><p>Работа с проектом базы данных среде Visual Studio .NET</p>
Перейти на страницу:

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных