Объект DataAdapter. Свойства, методы, примеры использования для наполнения и обновления DataSet
DataAdapter.Класс адаптеров данных применяется для заполнения наборов данных DataSet с помощью объектов DataTable; кроме того, они могут отправлять измененные DataTable назад в базу данных для обработки.
Методы | |
Fill() | Выполняет команду SQL SELECT (указанную в свойстве SelectCommand) для запроса к базе данных и загрузки этих данных в объект DataTable |
Update() | Выполняет команды SQL INSERT, UPDATE и DELETE (указанные свойствами InsertCommand, UpdateCommand и DeleteCommand) для сохранения в базе данных изменений, выполненных в DataTable |
Свойства | |
SelectCommand, InsertCommand, UpdateCommand, DeleteCommand | Содержат SQL-команды, отправляемые в хранилище данных при вызовах методов Fill() и Update() |
Наполнение DataSetданными из существующей БД:
SqlConnection connect = new SqlConnection(connectionString);
string command = "SELECT * FROM Employees";
SqlDataAdapter adapter = new SqlDataAdapter(command, connect);
// Заполнить DataSet
DataSet dataset = new DataSet();
adapter.Fill(dataset, "Employees");
// ИспользуяDataSetвывестивсестрокитаблицыEmployeesвэлементLabelInfo
foreach (DataRow row in dataset.Tables["Employees"].Rows)
{
LabelInfo.Text += String.Format("<li>{0} {1} {2} (<em>{3:d}</em>)<br>",
row["EmployeeID"].ToString(), row["LastName"],
row["FirstName"], row["BirthDate"]); }
DataSet. DataTables.DataRow
Одна запись в таблице содержится в объекте DataRow, который может хранить несколько версий записей:
Значение DataViewRowState | Описание |
CurrentRows | Текущие строки, включая не изменившиеся, добавленные и измененные. |
Deleted | Удаленная строка. |
ModifiedCurrent | Текущая версия, которая является измененной версией исходных данных. |
ModifiedOriginal | Исходная версия всех измененных строк. Текущая версия доступна при использовании параметра ModifiedCurrent. |
Added | Новая строка. |
None | Отсутствует. |
OriginalRows | Исходные строки, включая неизменившиеся и удаленные. |
Unchanged | Неизменившаяся строка. |
|
|
Объект DataSet. Структура, свойства, методы, примеры использования.
Подключение к базе и считывание данных при каждом запросе может быть дорогостоящей операцией. Зачастую более лучший вариант – считать данные один раз и работать с ними в памяти, а затем сохранить изменения в источнике. Для решения этой задачи и были созданы отсоединенные наборы данных:
DataSet является находящимся в оперативной памяти представлением данных, обеспечивающим согласованную реляционную программную модель независимо от источника данных.
DataSet представляет полный набор данных, включая таблицы, содержащие, упорядочивающие и ограничивающие данные, а также связи между таблицами.
Некоторые методыDataSet:
Метод | Описание |
GetXml() и GetXmlSchema() | Возвращают строку данных (в разметке XML) или информацию схемы для DataSet. Информация схемы — это структурированная информация вроде количества таблиц, их имен, столбцов, типов данных и установленных отношений |
WriteXml() и WriteXmlSchema() | Сохраняют данные и схемы, представленные DataSet а файле или потоке формата XML |
ReadXml() и ReadXmlSchema() | Создают таблицы в DataSet на основе существующего документа XML или документа схемы XML. Источником XML может быть файл или любой другой поток |
Clear() | Очищает все данные таблиц. Однако этот метод оставляет нетронутой информацию о схеме и отношениях |
Copy() | Возвращает точный дубликат DataSet с тем же набором таблиц, отношений и данных |
Clone() | Возвращает DataSet с той же структурой (таблицами и отношениями), но без данных |
Merge() | Принимает другой DataSet, DataTable или коллекцию объектов DataRow и объединяет с текущим объектом DataSet, добавляя новые таблицы и объединяя данные в существующих |
Способы работы с DataSet:
|
|
Существует несколько способов работы с DataSet, которые могут применяться отдельно или в сочетании. Можно сделать следующее:
§ Программно создать DataTable, DataRelation и Constraint внутри DataSet и заполнить таблицы данными.
§ Заполнить DataSet таблицами данных из существующего реляционного источника данных с помощью DataAdapter.
§ Загрузить и сохранить содержимое DataSet с помощью XML-кода.
Дата добавления: 2018-05-02; просмотров: 685; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!