Программист Дроздовский Михаил
Карта сайта | Форум  

DROZD. / Разное / Статьи

Статьи и заметки обо всем, что имеет какое-либо отношение к созданию сайтов.
Информация о веб-дизайне, программировании, типографике и работе с контентом — все здесь.

  Опубликовано на journalist.artotron.com
   

 

 

Введение в ADO.NET. Часть первая

Автор: Дроздовский Михаил
 

На протяжении нескольких лет Microsoft разрабатывает и совершенствует технологии доступа к данным, постоянно дополняя и изменяя их (последнее Microsoft делает затем, наверное, чтобы программистам жизнь медом не казалась)) ).
Выпуская платформу .NET, Microsoft позаботилась об усовершенствовании технологий доступа к данным, разработав ADO.NET

Новая объектная модель. В основе ADO.NET лежит новая объектная модель, в основе которой, в свою очередь — два разных подхода к работе с данными: присодиненный и отсоединенный.

Присоединенные объекты (такие как Connection, Transaction, DataReader, Command) предназначены для управления соединением, транзакциями, выборки данных и передачи изменений в БД. Отсоединенные объекты удобны тем, что они позволяют работать с данными автономно (и манипулировать данными в произвольном порядке).

Объект Connection. Соединение. ADO.NET содержит набор разных поставщиков данных — классов, предназначенных для работы с хранилищами данных определенных форматов. Каждый поставщик данных .NET реализует одинаковые базовые классы — Connection, DataProvider, Transaction, Command и Parameter, конкретное имя которых (например, SqlCommand) зависит от поставщика данных. Но независимо от имени, эти классы реализуют одинаковые базовые функции (реализуя одинаковые базовые интерфейсы).

У каждого поставщика данных .NET — собственное пространство имен, принадлежащее System.Data:

System.Data.SqlClient — для SQL Server-провайдера
System.Data.OleDb — для OleDB-провайдеров
System.Data.Oracle — для провайдера Oracle
System.Data.Odbc — для ODBC-провайдера

В этой статье мы будем рассматривать преимущественно классы из System.Data.SqlClient .

Итак, приступаем к созданию соединения.

Конструктор класса SqlConnection выглядит следующим образом:

SqlConnection xcc = new SqlConnection("строка подключения")

где строка подключения выглядит как строка вида параметр=значение; со следующими основными параметрами:

Provider — провайдер SQL Server'а, например SQLOLEDB
Data Source — сервер баз данных, например, (local)
Initial Catalog — имя базы данных на сервере, например Northwind
User ID — логин пользователя для доступа к базе данных
Password — пароль пользователя
Integrated Security — встроенная авторизация, например SSPI

Пример строки подключения:

SqlConnection xcc = new SqlConnection("Data Source=(local)Initial Catalog=Northwind;Integrated Security=SSPI;")

У объекта типа SqlConnection есть два основных метода — Open() и Close(). Что они делают, догадаться нетрудно :) (правильный ответ: открывают и закрывают соединение).

Объект Command. Запрос к базе данных. Объект SqlCommand — один из основных объектов ADO.NET, входящих в объекты подсоединенного режима.

Конструктор SqlCommand в общем случае имеет следующий вид:

SqlCommand cmd1 = new SqlCommand("текст запроса или вызова процедуры", xcc)

где xcc является объектом типа SqlConnection

Объект SqlCommand имеет три выполняющих запрос метода, а именно:

ExecuteNonQuery (возвращает количество строк, которые затронул запрос) — для запросов, не возвращающих данные (таких как INSERT, DELETE, UPDATE итп).
ExecuteScalar — для запросов, возвращающих одно значение (например, SELECT COUNT(*) FROM xdb_users WHERE fid=1)
ExecuteReader — для запросов, возвращающих больше одного значения. Метод ExecuteReader возвращает объект типа SqlDataReader для работы с данными.

Продолжение следует...

 

 


Copyright © 2004 — 2010 Дроздовский Михаил