Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Члены DataSet
Члены DataSet
Перед погружением в многочисленные детали программирования давайте рассмотрим набор базовых членов DataSet. Кроме свойств Tables, Relations и ExtendedProperties, в табл. 22.9 описаны некоторые другие интересные свойства.
Таблица 22.9. Свойства DataSet
Свойство | Описание |
---|---|
CaseSensitive | Индикатор чувствительности к регистру cимволов при сравнении строк в объектах DataTable |
DataSetName | Представляет понятное имя данного объекта DataSet. Обычно это значение устанавливается c помощью параметров конструктора |
EnforceConstraints | Получает или устанавливает значение, являющееся индикатором необходимости применения заданных ограничений при любой операции обновления |
HasErros | Получает значение, являющееся индикатором наличия ошибок в любой из строк объектов DataTable для объекта DataSet |
RemotingFormat | Новое свойство .NET 2.0, позволяющее указать, как должна выполняться сериализация DataSet (в двоичном или XML-формате) для слоя удаленного взаимодействия .NET |
Методы DataSet воспроизводят некоторые функциональные возможности, обеспечиваемые вышеупомянутыми свойствами. В дополнение к взаимодействию с потоками XML, объект DataSet предлагает методы, позволяющие копировать/клонировать содержимое DataSet, а также устанавливать начальные и конечные точки пакетных обновлений. В табл. 22.10 даются описания некоторых из таких методов.
Таблица 22.10. Методы DataSet
Методы | Описание |
---|---|
AcceptChanges() | Фиксирует все изменения, сделанные в данном объекте DataSet с момента его загрузки или последнего вызова AcceptChanges() |
Clear() | Выполняет полную очистку данных DataSet путем удаления всех строк в каждом объекте DataTable |
Clone() | Клонирует структуру DataSet, включая все объекты DataTable, а также все отношения и ограничения |
Copy() | Копирует и структуру, и данные для имеющегося объекта DataSet |
GetChanges() | Возвращает копию DataSet, содержащую все изменения, сделанные со времени последней загрузки или последнего вызова AcceptChanges() |
GetChildRelations() | Возвращает коллекцию дочерних связей для указанной таблицы |
GetParentRelations() | Возвращает коллекцию родительских связей для указанной таблицы |
HasChanges() | Перегруженный метод, который возвращает значение, являющееся индикатором наличия модификаций у DataSet, учитывая новые, удаленные или измененные строки |
Merge() | Перегруженный метод, который выполняет слияние данного объекта DataSet с указанным объектом DataSet |
ReadXml() ReadXmlSchema() | Позволяют считывать XML-данные из действительного потока (файлового, размещенного в памяти или сетевого) в DataSet |
RejectChanges() | Выполняет откат всех изменений, сделанных в DataSet с момента его создания или последнего вызова DataSet.AcceptChanges() |
WriteXml() WriteXmlSchema() | Позволяют записать содержимое DataSet в действительный поток |
Теперь вы лучше понимаете роль DataSet (и имеете некоторое представление о том, что можно делать с этим объектом), и мы можем приступить к созданию нового консольного приложения под названием SimpleDataSet. В его методе Main() определяется новый объект DataSet, содержащий два расширенных свойства, представляющих название вашей компании и штамп времени (не забудьте указать using для System.Data).
class Program {
static void Main(string[] args) {
Console.WriteLine ("***** Забавы с DataSet *****n");
// Создание объекта DataSet.
DataSet carsInventoryDS = new DataSet("Inventory из Car");
carsInventoryDS.ExtendedProperties["TimeStamp"] = DateTime.Now;
carsInventoryDS.ExtendedProperties["Company"] = "Intertech Training";
}
}
Объект DataSet без объектов DataTable чем-то напоминает рабочую неделю без выходных. Поэтому следующей нашей задачей будет рассмотрение внутренней структуры DataTable, начиная с типа DataColumn.
- Листинг 14.2. Использование параметра XMLWriteMode при сохранении объекта ADO.NET DataSet
- Статические члены
- LINQ to DataSet
- Typed DataSet
- Ввод данных в объект DataSet
- Элементарные сведения об объектах ADO.NET DataSet
- Приватные члены класса
- ГЛАВА 5 ADO.NET: объект DataSet
- Меры по обеспечению максимальной производительности при работе с объектами ADO.NET DataSet
- Очень короткий пример использования объектов DataSet, DataTables и XML
- Листинг 14.1. Простой пример создания и использования объекта ADO.NET DataSet
- Высокоуровневый подход, основанный на использовании объектов ADO.NET DataSet