ADO.NET

ADO.NET је скуп класа за рад са подацима. Снабдевачи података (data provider) су класе које обезбеђују могућност конектовања на извор података. Основни снабдевачи података су SQL Server снабдевачи података и OLE DB снабдевачи података. При раду у ADO.NET окружењу користе се простори имена System.Data, System.Data.SqlClient, System.Data.OleDb, System.Data. SqlTypes, System.Xml.

ADO.NET data provider-и

ADO.NET не поседује јединствени скуп типова објеката који комуницирају са различитим системима за управљање базама података (DВМS). АDО.NЕТ поседује више скупова типова објеката који комуницирају са DВМS-ом. Ове скупове типова објеката називамо data provider-има. Сваки од data provider-а оптимизован је за интеракцију са конкретним DBMS-ом. Предност оваквог приступа је могућност појединачних data provider-а да имају могућност манипулације објектима који су специфични за посматрани DBMS. Још једна од предности је начин комуникације између data provider-а и DBMS-а. Наиме, с обзиром да је сваки data provider оптимизован за рад са конкретним DBMS-ом, он комуницира директно са DBMS-ом тј. не постоји међуслој који би прилагодио захтеве корисника конкретном DBMS-u.

Data provider је најлакше посматрати као скуп типова објеката дефинисаних у одређеном простору имена (namespace) који имају могућност директне комуникације са конкретним DBMS-ом. Сваки од data provider-а поседује скуп класа које омогућавају извршење основних функционалности. Све класе конкретних data provider-а имају заједничке родитељске класе тј. изведене су из истог скупа класа и интерфејса, које се налазе у System.Data.Common простору имена односно у System.Data простору имена. Основни објекти ADO.NET Data Provider типа објекта приказани су у табели:

Објекат

Родитељска класа

Имлементира интерфејс

Значење

Connection

DbConnection

IDbConnection

Омогућава отварање и затварање конекције ка бази података

Command

DbCommand

IDbCommand

Представља SQL упит или ускладиштену процедуру. Омогућава приступ DataReader објекту конкетног data provider-а

DataReader

DbDataReader

IDataReader, IDataRecord

Омогућава читање података коришћењем курсора на серврској страни

DataAdapter

DbDataAdapter

IdataAdapter, IdbDataAdapter

Преноси DataSet објекте између клијента и извора података. Поседује конекцију и скуп од четири основне операције за селектовање, додавање, измену и брисање података у извору података

Parameter

DbParameter

IDataParameter, IDbDataParameter

Представља именовани параметар у параметризованом упиту

Transction

DbTransaction

IDbTransaction

Енкапсулира трансакцију базе података

Иако ће се имена конкретних објеката сваког од конкретних Data Provider објеката разликовати (нпр. SqlConnection, OracleConnection, OdbcConnection или MySqlConnection), сви су изведени из исте класе и имплементирају исте интерфејсе па је након савладавања коришћења једног од data provider-а релативно једноставно користити све остале. Структура data provider-a .NET платформе приказана је на слици.

slika

Microsoft .NET платформа поседује низ уграђених data provider-а за различите DBMS-ове. Списак уграђених data provider-а приказан је у табели:

Data Provider

Простор имена (namespace)

Библиотека

OLE DB

System.Data.OleDb

System.Data.dll

Microsoft SQL Server

System.Data.SqlClient

System.Data.dll

Microsoft SQL Server Mobile

System.Data.SqlServerCe

System.Data.SqlServerCe.dll

ODBC

System.Data.Odbc

System.Data.Dll

Oracle

System.Data.OracleClient

System.Data.OracleClient.dll

Поред data provider-а који су уграђени у .NET платформу, могуће је користити data provider-е које обезбеђују појединачни произвођачи бесплатних или комерцијалних DBMS-ова попут SQLite, DB2, MySQL, PostgreSQL ili Sybase.

Поред представљених простора имена, .NET платформа поседује скуп додатних простора имена који својим функционалностима припадају скупу ADO.NET простора имена. Неки од ових простора имена приказани су у табели:

Простор имена (namespace)

Значење

System.Data

Дефинише основне ADO.NET типове које користе сви data provider-и

System.Data.Common

Садржи типове које деле сви ADO.NET data provider-и

System.Data.Sql

Садржи типове који омогућавају откривање инстанци MS SQL Server-а у локалној мрежи

System.Data.SqlTypes

Садржи типове података које користи Microsoft SQL Server

Од свих ADO.NET простора имена (namespace-a), System.Data је најопштији. Свака апликација која жели да приступа подацима коришћењем ADO.NET-а мора користити класе дефинисане овим простором имена.

System.Data садржи класе које су заједничке за све data provider-е. У следећој табели приказани су основни чланови System.Data простора имена.

Класа

Значење

Constraint

Представља ограничење примењено на DataColumn објекат

DataColumn

Представља једну колону DataTable објекта

DataRelation

Представља родитељ/дете однос између два DataTable објекта

DataRow

Представља један ред у DataTable објекту

DataSet

Представља локалну копију података у меморији клијентског рачунара који се састоји од низа повезаних DataTable објеката

DataTable

Представља локалну копију табеле базе података

DataTableReader

Омогућава читање података из DataTable објекта ред по ред

DataView

Представља поглед на табелу базе података и користи се за сортирање, филтрирање, претраживање и измену података

Директан приступ подацима коришћењем ADO.NET-a

Најлакши начин извршења свих операција над базом података је директно извршење свих операција при чему се не води рачуна о локалним копијама података. Овакав модел је најближи традиционалном ADO програмирању и отклања проблеме конкурентног извршења операција над базом података који се дешавају када више корисника истовремено извршава операције над истим подскупом података. Овакав начин извршења операција над базом података је добро решење када је потребно прочитати податке или изменити податке у једном реду неке од табела релационе базе података. Овакав приступ није ефикасан уколико је потребно модификовати више различитих редова из једне или више табела.

Уобичајени редослед операција приликом прибављања података коришћењем оваквог приступа састоји се из следећих корака:

1. Креирати Connection, Command и DataReader објекте
2. Отворити конекцију
3. Користити DataReader за читање података из базе података
4. Затворити конекцију

Кроз следеће текстове упознаћемо се са приступом подацима коришћењем ADO.NET-а:

креирање конекције ка бази података
креирање SQL команде
коришћење DataReader објекта

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google photo

Коментаришет користећи свој Google налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s