Logo Host-telecom.com — профессиональный хостинг в Европе! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

💰 Самые низкие цены на домены

🔒 Отличный хостинг на SSD c бесплатными SSL

💻 Огромнейший выбор dedicated выделенных серверов

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VDS хостинг Облачный сервер в Нидерландах и Украине

Аренда виртуального сервера от $7.91

Партнёрская программа
$20 за клиента

2007 г.

Основы ADO .NET
Лекция из курса «Введение в программирование на C# 2.0»

Марченко Антон Леонардович
Интернет-Университет Информационных Технологий, INTUIT.ru

Назад Оглавление Вперёд

ADO .NET. Доступ к данным

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

Объектная модель ADO .NET реализует отсоединенный доступ к данным. При этом в Visual Studio .NET существует множество ВСТРОЕННЫХ мастеров и дизайнеров, которые позволяют реализовать механизмы доступа к БД еще на этапе разработки программного кода.

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

Концепция доступа к данным в ADO .NET основана на использовании двух компонентов:

  • НАБОРА ДАННЫХ (представляется объектом класса DataSet) со стороны клиента. Это локальное временное хранилище данных;
  • ПРОВАЙДЕРА ДАННЫХ (представляется объектом класса DataProvider). Это посредник, обеспечивающий взаимодействие приложения и базы данных со стороны базы данных (в распределенных приложениях – со стороны сервера).


ADO .NET. Объектная модель

Объектная модель ADO .NET предполагает существование (при написании приложения для работы с базой данных — использование) двух множеств классов, выполняющих четко определенные задачи при работе с базой данных:


Классы подсоединенных объектов обеспечивают установление соединения с базой данных и управление базой со стороны приложения; классы отсоединенных объектов обеспечивают сохранение, использование и преобразование полученной от базы данных информации на стороне приложения.

Далее рассматриваются классы отсоединенных объектов объектной модели ADO .NET. Их подробному описанию посвящаются следующие разделы пособия. При этом классы отсоединенных объектов могут быть самостоятельно использованы в приложении наряду с обычными компонентами и элементами управления, даже если в приложении и не предполагается организовывать работу с базами данных.

DataTable

Каждый объект DataTable представляет одну таблицу базы данных. Таблица в каждый конкретный момент своего существования характеризуется:

  • СХЕМОЙ таблицы,
  • СОДЕРЖИМЫМ таблицы (информацией).

При этом СХЕМА таблицы (структура объекта DataTable) определяется двумя наборами:

  • множеством столбцов таблицы (набор DataColumns, состоящий из множества объектов DataColumn),
  • множеством ограничений таблицы (набор Constraints, состоящий из множества объектов Constraint).

События класса DataTable

В классе определены четыре события, которые позволяют перехватывать и в случае необходимости отменять изменения состояния таблицы данных.

  1. Изменения строк.
    • DataRowChanging – изменения вносятся в строку таблицы.

      Объявление соответствующего обработчика события имеет вид

       private static void Row_Changing( object sender, DataRowChangeEventArgs e )
    • DataRowChanged – изменения внесены в строку таблицы.

      Объявление соответствующего обработчика события имеет вид

       private static void Row_Changed( object sender, DataRowChangeEventArgs e )

    Пример программного кода для объекта – представителя класса DataTable:

    Листинг 1: html, txt

    Параметр обработчика события DataRowChangeEventArgs обладает двумя свойствами (Action и Row), которые позволяют определить изменяемую строку и выполняемое над строкой действие. Действие кодируется значениями специального перечисления:

     enum RowDataAction
     {
      Add,
      Change,
      Delete,
      Commit,
      Rollback,
      Nothing
     }  
  2. Изменения полей (элементов в строках таблицы)
    • DataColumnChanging – изменения вносятся в поле строки данных.

      Объявление соответствующего обработчика события имеет вид

       private static void Column_Changing
                          (object sender, DataColumnChangeEventArgs e)
    • DataColumnChanged – изменения были внесены в поле строки данных.

      Объявление соответствующего обработчика события имеет вид

       private static void Column_Changed
                         (object sender, DataColumnChangeEventArgs e)

    Параметр обработчика события DataColumnChangeEventArgs e обладает тремя свойствами:

    СвойствоОписание
    ColumnGet. Объект-представитель класса DataColumn с изменённым значением
    ProposedValueGets, sets. Новое значение для поля в строке
    RowСтрока, содержащая запись с изменяемым (измененным) значением

    Аналогичный пример. Только теперь программируется реакция на модификацию столбца (поля), а не строки:

    Листинг 2: html, txt

Назад Оглавление Вперёд

Wildcard сертификаты от $74,97 в год.

Дешевые ssl сертификаты для домена

Sectigo сертификаты от $7,67 в год.

хостинг Украина Виртуальный хостинг для сайта от $4,87

Регистрация домена от $2 в год

Партнерская программа – $20 за клиента

VPS с гибкой конфигурацией: за 1€

Мощные выделенные сервера: от 25€

Собственный Дата-Центр
Поддержка 24/7

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

ATLEX Выделенные серверы: в Европе / в России.

Виртуальные серверы: в Европе / в России.

Партнерская программа

Ваш сайт в 8 раз быстрее конкурентов. Хостинг от $2.95

VPS: SSD, KVM, бесплатные бэкапы и администрирование

Все необходимое для вашего сайта и лучшая техподдержка 24/7

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...