Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС / Подключенный режим / 0-Технология доступа к данным ADO.NET.docx
Скачиваний:
12
Добавлен:
28.06.2021
Размер:
497.95 Кб
Скачать
  • SelectCommand – содержит текст или объект команды, осуществляющей выборку данных из базы данных; при вызове метода Fill() эта команда исполняется и заполняет объект DataTable или объект DataSet;

  • InsertCommand – содержит текст или объект команды, осуществляющий вставку строк в таблицу;

  • DeleteCommand – содержит текст или объект команды, осуществляющий удале­ние строки из таблицы;

  • UpdateCommand – содержит текст или объект команды, осуществляющий обновление значений в базе данных.

Чтобы заполнить DataTable данными, следует вызвать метод Fill() объекта DataAdapter. Этот метод исполняет команды, заданные свойством SelectCommand, на соединении, указанном свойством Connection, и заполняет DataSet данными, которые возвращает исполненная команда. Методу Fill() необходимо передать целевой объект, которым может быть DataTable:

DataTable dt = new DataTable();

myDataAdapter. Fill (dt);

Взаимодействия с объектом Connection не происходит. При исполнении команды, вызванной методом Fill(), соединение открывается только на время извлечения данных, после чего сразу же закрывается. Таким образом, после извлечения данные становятся отсоединенными и ими можно манипулировать в коде независимо от базы данных, а при необходимости ее можно обновить.

Заключение

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

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

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

  • удаленное взаимодействие с данными между уровнями или от веб-службы ХМL;

  • динамическое взаимодействие с данными, например привязка к элементу ynpавления Windows Forms или комбинирование и связывание данных из-нескольких источников;

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

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

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