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

Обратите внимание, что в листинге 6.2 возвращаемое значение метода Fill уже не сохраняется в локальной переменной rows. Совсем необязательно сохранять возвращаемое значение, если только в дальнейшем не предполагается проверять его или использовать каким-то другим способом. Предлагаемый в листинге 6.2 код можно было бы расширить несколькими командами Select для обновления объекта DataTable наиболее свежими данными (например, измененными другими пользователями) из источника данных.

НА ЗАМЕТКУ

Существующие в объекте DataTable значения обновляются только при вызове соответствующего метода Fill, если для объекта DataTable задан первичный ключ. По умолчанию метод Fill вставляет в объект DataTable информацию о структуре данных и значения данных в записях без указания каких-либо ограничений, которые могут быть заданы в источнике данных. Для правильной установки значения свойства PrimaryKey (чтобы корректно выполнялись операции обновления данных и метод Fill) еще до вызова метода Fill нужно выполнить одно из следующих действий:

• вызвать метод FillSchema объекта DataAdapter;

• указать значение AddWithKey для свойства объекта DataAdapter;

• явно указать значение свойства PrimaryKey для соответствующих полей, если они известны в режиме создания приложения.

Обновление источника данных

Обычно после внесения всех необходимых изменений в таблицы набора данных DataSet потребуется сохранить эти изменения в источнике данных. Для этого нужно вызвать метод Update объекта DataAdapter, который анализирует изменения в указанной таблице набора данных (или сразу во всех таблицах, если ни одна из них не указана явно). Для каждой измененной записи по отношению к источнику данных выполняется команда вставки, обновления или удаления с помощью соответствующего объекта InsertCommand, UpdateCommand или DeleteCommand.

НА ЗАМЕТКУ

Возможность прямого указания специализированных пользовательских команд SQL или хранимых процедур в целях их автоматического применения для обновления источника данных при изменении данных в объекте DataSet является наиболее значительным усовершенствованием способа работы с данными в модели ADO.NET по сравнению с моделью ADO 2.X. В модели АDO.NET предусмотрено не только управление способом обновления пакета записей, но и использование хранимых процедур для выполнения этой задачи. Помимо указания команд SQL для операций обновления, применение хранимых процедур позволяет существенно повысить производительность и использовать специализированную бизнес-логику. Далее приводится краткий пример использования этих преимуществ. Кроме того, в отличие от модели ADO которая может применяться только к SQL-совместимым источникам данных, механизм пакетного обновления модели ADO.NET может работать даже с источниками данных, не совместимыми с SQL. 

Каждая измененная запись обновляется отдельно, а не как часть транзакции или пакетной операции. Причем порядок обновления записей определяется порядком их расположения в объекте DataTable.

Для явного управления порядком выполнения операций для заданной таблицы можно использовать методы GetChanges или Select, которые доступны на уровне либо объекта DataSet, либо объекта DataTable. Эти методы используются для извлечения отдельных наборов записей с разными состояниями записей.

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

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

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