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

При изучении объектов DataSet, DataTable, DataRelation, DataRow, DataColumn, DataRelation и Constraint в главе 5, "ADO.NET: объект DataSet", у читателя возможно не раз возникало желание воскликнуть: "А где же, собственно, сама база данных?". Действительно, до сих пор ничего не говорилось о способе загрузки данных в объект DataSet из базы данных или другого источника, а также о последующем обновлении источника данных в соответствии с изменениями данных в объекте DataSet. Именно эту задачу и выполняет объект DataAdapter.

Объект DataAdapter является промежуточным звеном между объектом DataSet и физическим источником данных. Он играет роль моста между двумя мирами ADO.NET: подключенным к источнику данных миром провайдеров данных .NET (которые рассматриваются в главе 4, "Модель ADO.NET: провайдеры данных") и неподключенным к источнику данных миром объектов DataSet (которые рассматриваются в главе 5, "ADO.NET: объект DataSet").

В структуре провайдеров данных .NET объект DataAdapter занимает центральное место. Каждый такой провайдер должен иметь собственную реализацию объекта DataAdapter (например, SqlDataAdapter, OleDbDataAdapter, OdbcDataAdapter и т.д.). Причина, по которой этот объект рассматривается только сейчас, заключается в том, что без понимания основных принципов работы с объектом DataSet и подчиненными объектами нельзя понять основные концепции работы с объектом DataAdapter. Теперь можно приступить к описанию объекта DataAdapter с учетом всех приведенных ранее сведений.

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

РИС. 6.1. Схема работы объекта DataAdapter — как моста между источником данных и объектом DataSet


Основными методами объекта DataAdapter являются Fill и Update. Метод Fill наполняет объект DataAdapter данными, полученными от источника данных, а метод Update обновляет источник данных в соответствии с изменениями данных в таблицах объекта DataSet.

Объект DataAdapter содержит набор из четырех свойств (Select Command, InsertCommand, UpdateCommand и DeleteCommand), которые являются объектами ADO.NET типа Command, конфигурированными для выполнения одноименных операций. Например, объект SelectCommand выполняется при вызове метода Fill объекта DataAdapter, а остальные объекты выполняются для каждой измененной записи при вызове метода Update объекта DataAdapter. Разработчики базы данных обладают полным контролем над этими командами, которые позволяют настраивать команды, используемые для операций вставки, обновления и удаления.

Наконец, коллекция TableMappings объектов DataTableMapping позволяет указать соответствие между таблицей источника данных и объектом DataTable.

Передача данных из источника данных в объект DataSet

Для использования объекта DataAdapter требуется, как минимум, подключение к базе данных и команда Select. Для этого можно использовать объекты Connection и Command, т.е. создать их, конфигурировать и присвоить их свойствам Connection и SelectCommand объекта DataAdapter. Однако гораздо удобнее использовать для этого конструктор объекта DataAdapter с двумя строковыми параметрами: один для команды SELECT, а второй для строки подключения, как показано ниже.

Dim da As SqlDataAdapter = New SqlDataAdapter( _

  "select * from tblDepartment" _

  "server=localhost;uid=sa;database=Novelty")

НА ЗАМЕТКУ

Учтите, что указанная в объекте SelectCommand команда SQL может иметь параметры. В главе 4, "Модель ADO.NET: провайдеры данных", приводятся основные сведения об определении этих параметров для разных провайдеров данных .NET.

Попробуем теперь вызвать метод Fill для извлечения данных из базы данных Novelty и загрузки их в объект DataSet. Для этого вернитесь к проекту DataSetCode из главы 5, "ADO.NET: объект DataSet", и выполните перечисленные ниже действия.

1. Щелкните правой кнопкой мыши на проекте DataSetCode в окне Solution Explorer и выберите в контекстном меню команду Properties, чтобы открыть диалоговое окно DataSetCode Property Pages.

2. Выберите раздел General в папке Common Properties в правой части диалогового окна DataSetCode Property Pages, а затем выберите форму frmDataSets в поле Startup object.

3. Откройте форму frmDataSets в окне конструктора формы. 

4. Создайте новую кнопку непосредственно под кнопкой Constraints, перетаскивая ее из панели элементов управления.

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

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

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