Благодарности
Введение
Кому предназначена эта книга
Структура книги
Примеры кода, утилиты и прочие забавные штуки
Системные требования
Техническая поддержка
ЧАСТЬ
ОСНОВЫ РАБОТЫ С MICROSOFT ADO NET
Глава Обзор ADO.NET
Зачем нужна новая объектная модель
Объектная модель ADO NET
Поставщики данных NET
Зачем необходимы отдельные классы и библиотеки
Повышенная производительность
Замечательные возможности расширения
Пролиферация
Обсуждение поставщиков данных NET в этой книге
Подсоединенные объекты
Объект Connection
Объект Command
Объекты DataReader
Объект Transaction
Объект Parameter
Объект DataAdapter
Отсоединенные объекты
Объект DataTabie
Объект DataColumn
Объект Constraint
Объект DataRow
Объект DataSet
Объект DataRelation
Объект DataView
Метаданные
Объекты DataSet со строгим контролем типов
Вопросы, которые стоит задавать почаще
Глава Создание ADO.NET-приложений
с помощью мастера DataForm Wizard
Все без ума от примеров
Создание связанной с данными формы средствами мастера Data Form Wizard
Выбор подключения
VI
Оглавление

Выбор отображаемых столбцов
Выбор стиля отображения
Использование новой связанной с данными формы
Отображение данных в связанной форме
Изучаем сгенерированный мастером код
Реализация каскадных изменений с помощью объекта DataRelation
Передача изменений в базу данных
Вызываем метод Update объекта DataAdapter
Изоляция измененных записей
Реинтеграция изменений
Панель компонентов
Мастер Data Form Wizard - отправная точка создания приложений
для работы с БД
Вопросы, которые стоит задавать почаще
ЧАСТЬ
ПОДКЛЮЧАЕМСЯ ИСПОЛЬЗОВАНИЕ
ПОСТАВЩИКА ДАННЫХ NET
Глава Подключение к базе данных
Использование объектов Connection
Создание объектов Connection
Конструкторы
Строки подключения
Поставщик OLE DB для БД SQL Server
Поставщик OLE DB для БД Oracle
Поставщик OLE DB для БД Access
Поставщик OLE DB для драйверов ODBC
Создание строк подключения в коде при помощи диалогового
окна Data Links
Создание строк подключения вручную при помощи
диалогового окна Data Links
Использование udl-файлов в строке подключения
Открытие и закрытие соединений
Использование пула соединений
Что такое пул соединений
Как включить пул соединений
Что делать, если не надо помещать соединения в пул
Как узнать, действительно ли закрыто соединение или оно
просто помещено в пул
Разрыв соединений
Создание других объектов с помощью объектов Connection
Создание объектов Command
Выполнение транзакций
Получение информации схемы БД
Функции среды Visual Studio NET, доступные в период разработки
Работа с объектами Connection в окне Server Explorer
Добавление соединений в Server Explorer
Поставщики данных OLE DB, ODBC и NET
Сохранение пароля
Интегрированная проверка подлинности
Добавление соединений в приложение
Оглавление
VII
Панель компонентов
Использование нового соединения
Создание объектов Connection с помощью панели инструментов
Использование нового соединения в период выполнения
Где же код\'
Особенности объекта OleDbConnection
Свойства объекта OleDbConnection
Свойство ConnectionStrmg
Свойство ConnectionTimeout
Свойства Database и DataSource
Свойство Provider
Свойство ServerVersion
Свойство State
Методы объекта OleDbConnection
Метод BegmTransaction
Метод ChangeDatabase
Метод Close
Метод CreateCommand
Метод GetOleDbSchemaTable
Метод Open
Метод ReleaseObjectPool
События объекта OleDbConnection
Событие InfoMessage
Событие StateChange
Вопросы, которые стоит задавать почаще
Глава Выполнение запросов к базе данных
Использование объектов Command в коде
Создание объекта Command
Выполнение запроса, не возвращающего записей
Просмотр результатов запроса с помощью объекта DataReader
Выборка результатов
Ускоренная выборка
Выборка нескольких наборов результатов
Выполнение пакетов командных запросов
Закрытие объекта DataReader
Выполнение запроса, возвращающего одно значение
Выполнение параметризованного запроса
Вызов хранимой процедуры
Получение данных при помощи параметров вывода
Выполнение запроса в транзакции
Создание объектов Command в Visual Studio NET
Перетаскивание с панели инструментов
Задание значения свойства Connection
Использование Query Builder
Использование нового объекта Command в коде
Перетаскивание из Server Explorer
> Особенности объектов Command, DataReader и Parameter Об
Свойства объекта OleDbCommand Об
Свойство CommandTimeout
Свойство CommandType
VIM
Оглавление

Свойство Transaction
Свойство UpdatedRowSource
Методы объекта OleDbCommand
Метод Cancel
М^год ExecuteNonQuery
Метод ExecuteReader
Метод ExecuteScalar
Метод Prepare .
Метод ResetCommandTimeout
Свойства объекта OleDbDataReader
Свойство Depth и метод GetData
Свойство FieldCount
Свойство IsClosed
Свойство Item
Свойство RecordsAffected
Методы объекта OleDbDataReader
Метод Read
Метод GetValue
Методы ОеКТипДанных>
Метод GetValues
Метод NextResult
Метод Close
Методы GetName, GetOrdmal и GetDataTypeName
Метод GetSchemaTable
Метод GetData и свойство Depth
Создание объектов Parameter
Свойства объекта OleDbParameter
Свойство ParameterName
Свойство Direction
Свойство Value
Свойства SourceColumn и Source Version
Свойства DbType и OleDbType
Свойства Precision, Scale и Size
Вопросы, которые стоит задавать почаще
Глава Получение данных с помощью объектов DataAdapter
Что представляет собой объект DataAdapter
Чем объект DataAdapter отличается от других объектов, основанных
на запросах
Объект DataAdapter предназначен для работы с отсоединенными
данными
Между объектами DataAdapter и DataSet нет прямой связи
Объект DataAdapter содержит логику обновления для передачи
в БД изменений, хранящихся в объекте DataSet
Логикой обновления в объекте DataAdapter можно управлять
Анатомия объекта DataAdapter
Дочерние команды
Набор TableMappmgs
Создание и использование объектов DataAdapter
Создание объекта DataAdapter
Конструкторы DataAdapter
Оглавление
IX

Получение результатов запроса
Использование метода Fill
Создание объектов DataTable и DataColumn при помощи метода
Использование перегруженных методов Fill
Открытие и закрытие соединений
Многократный вызов метода Fill Сопоставление результатов запроса объекту DataSet
Набор TableMappmgs объекта DataAdapter
Свойство MissmgMappingAction Работа с пакетными запросами Получение результатов выполнения хранимых процедур
Хранимые процедуры Oracle Выборка информации схемы
Свойство MissmgSchemaAction
Метод FillSchema Создание объектов DataAdapter в Visual Studio NET
Перетаскивание объекта DataAdapter с панели инструметов Использование мастера Data Adapter Configuration Wizard Перетаскивание из Server Explorer
Предварительный просмотр результатов, возвращаемых объектом DataAdapter
Просмотр кода, генерируемого мастером Особенности объекта DataAdapter
Свойства объекта DataAdapter
Свойства SelectCommand, UpdateCommand, InsertCommand
и DeleteCommand
Свойство TableMappmgs
Свойства MissmgMappingAction и MissmgSchemaAction
Свойство AcceptChangesDunngFill
Свойство ContmueUpdateOnError Методы объекта DataAdapter
Метод Fill
Метод FillSchema
Метод GetFillParameters
Метод Update События объекта DataAdapter
Событие FillError
События RowUpdatmg и RowUpdated t Вопросы, которые стоит задавать почаще
ЧАСТЬ
АВТОНОМНАЯ РАБОТА С ДАННЫМИ ОБЪЕКТ DATASET МОДЕЛИ ADO NET
Глава Работа с объектами DataSet
Возможности объекта DataSet
Работа с отсоединенными данными Прокрутка, сортировка, поиск и фильтрация Работа с иерархически организованными данными Кэширование изменений Интеграция с XML Универсальная функциональность
Fill






Оглавление
Использование объектов DataSet
Создание объекта DataSet
Просмотр структуры, создаваемой при вызове метода DataAdapter Fill
Объект DataTable
Объект DataColumn
Просмотр данных, возвращаемых объектом DataAdapter
Объект DataRow
Просмотр содержимого объекта DataRow
Просмотр объектов DataRow в объекте DataTable
Проверка данных в объекте DataSet
Свойства объекта DataColumn, используемые для проверки данных
Набор Constraints объекта DataTable
Получение информации схемы с помощью метода
DataAdapter FillSchema
Создание объектов DataTable в коде
Создание объекта DataTable
Добавление объекта DataTable в набор Tables объекта DataSet
Добавление столбцов в объект DataTable
Указание типа данных объекта DataColumn
Добавление первичного ключа
Добавление других ограничений
Использование столбцов с автоинкрементом
Добавление столбца, основанного на выражении
Создание объектов DataTable, соответствующих таблицам Customers,
Orders и Order Details
Изменение содержимого объекта DataTable
Добавление нового объекта DataRow
Редактирование существующей записи
Работа со значениями Null в объекте DataRow
Удаление объекта DataRow
Исключение объекта DataRow
Использование свойства DataRowRowState
Просмотр отложенных изменений объекта DataRow
Работа с объектами DataSet в среде Visual Studio NET
Генерирование объекта DataSet на основе объектов DataAdapter
Создание нового объекта DataSet "с нуля"
Создание объекта Da taSet без контроля типов
Эсобенности объектов DataSet, DataTable, DataColumn, DataRow, UmqueConstramt
i ForeignKeyConstramt
Свойства объекта Da taSe t
Свойство CaseSensitive
Свойство DataSetName
Свойство DesignMode
Свойство EnforceConstramts
Свойство ExtendedProperties
Свойство HasErrors
Свойство Locale
Свойства Namespace и Prefix
Свойство Relations
Свойство Tables
Оглавление
XI
Методы объекта DataSet
Методы AcceptChanges и RejectChanges
Методы Begmlnit и Endlnit
Метод Clear
Методы Clone и Сору
Метод GetChanges
Методы GetXml и GetXmlSchema
Метод HasChanges
Метод Merge
Методы ReadXml и WnteXml
Методы ReadXmlSchema, WnteXmlSchema и InferXmlSchema
Метод Reset
События объекта DataSet
Событие MergeFailed
Свойства объекта DataTable
Свойство CaseSensmve
Свойства ChildRelations и ParentRelations
Свойство Columns
Свойство Constraints
Свойство DataSet
Свойство DefaultView
Свойство DesignMode
Свойство ExtendedProperties
Свойство HasErrors
Свойство Locale
Свойство MimmumCapacity
Свойства Namespace и Prefix
Свойство PnmaryKey
Свойство Rows
Свойство TableName
Методы объекта DataTable
Методы AcceptChanges и RejectChanges
Методы Begmlnit и Endlnit
Методы BegmLoadData и EndLoadData
Метод Clear
Методы Clone и Сору
Метод Compute
Метод GetChanges
Метод GetErrors
Методы ImportRow, LoadDataRow и NewRow
Метод Reset
Метод Select
События объекта DataTable
События ColumnChanged и ColumnChanging
События RowChanged и RowChanging
События RowDeleted и RowDeletmg
Свойства объекта DataColumn
Свойство AllowDBNull
Свойства Autolncrement, AutoIncrementSeed и AutoIncrementStep
XII Оглавление

Свойство Caption
Свойство ColumnMappmg
Свойство ColumnName
Свойство DataType
"Свойство DefaultValue
Свойство Expression
Свойство ExtendedProperties
Свойство MaxLength \'
Свойства Namespace и Prefix
Свойство Ordinal
Свойство Readonly
Свойство Table
Свойство Unique
Свойства объекта DataRow
Свойство HasErrors
Свойство Item
Свойство ItemArray
Свойство RowError
Свойство RowState
Свойство Table
Методы объекта DataRow
Методы AcceptChanges и RejectChanges
Методы BegmEdit, CancelEdit и EndEdit
Метод ClearErrors
Метод Delete
Метод GetChildJRows
Методы GetColumnError и SetColumnError
Метод GetColumnsInError
Методы GetParentRow, GetParentRows и SetParentRow
Метод HasVersion
Метод IsNull
Свойства объекта UniqueConstramt
Свойство Columns
Свойство ConstramtName
Свойство ExtendedProperties
Свойство IsPnmaryKey
Свойство Table
Свойства объекта ForeignKeyConstramt
Свойства AcceptRejectRule, DeleteRule и UpdateRule
Свойства Columns и RelatedColumns
Свойство ConstramtName
Свойство ExtendedProperties
Свойства RelatedTable и Table
Вопросы, которые стоит задавать почаще
Глава Работа с реляционными данными
Особенности доступа к реляционным данным
Соединяющие запросы (?
Отдельные запросы
Иерархичные объекты Recordset модели ADO \') и пространство имен SqlTypes
Вызов хранимых процедур
Получение информации схемы БД
Поставщик данных ODBC .NET Data Provider .\'
Подключение к БД при помощи объекта OdbcConnection
Использование параметризованных запросов
Получение результатов запроса с помощью объекта OdbcDataAdapter
Просмотр результатов запроса при помощи объекта OdbcDataReader
Вызов хранимой процедуры
Получение информации схемы БД
Поставщик данных Oracle Client .NET Data Provider
Подключение к БД при помощи объекта OracleConnection
Использование параметризованных запросов
Получение результатов запроса с помощью объекта OracleDataAdapter
Просмотр результатов запроса при помощи объекта OracleDataReader
Специфичные для Oracle типы данных
Вызов хранимой процедуры
Выборка данных из курсоров REF
Получение информации схемы БД
Проблемы, общие для поставщиков данных .NET
Создание кода, независимого от поставщика
Выбор подходящего типа данных поставщика .NET
Приложение Б Утилиты
Утилита ADO.NET Ad Hoc Query Tool
"Подключение к БД
Добавление поставщиков данных .NET
Выполнение запросов
Просмотр информации схемы
Передача обновлений
Параметры приложения
Утилита ADO.NET DataAdapter Builder
Определение логики обновления
Элемент управления ADO.NET Navigation Control
Добавление элемента управления ADO.NET Navigation Control
на панель инструментов Visual Studio .NET
Конфигурирование свойств ADO NET Navigation Controi,
обеспечивающих взаимодействие с данными
Конфигурирование прочих свойств ADO.NET Navigation Control
Предметный указатель
Об авторе