ADO.NET

ADO.NET je skup klasa za rad sa podacima.

Snabdevači podataka su klase koje obezbeđuju mogućnost konektovanja na izvor podataka.

Za različite baze se koriste različiti snabdevači podataka. Na primer snabdevači podataka koji su ugrađeni u Visual Studio su npr za SQL Server (using System.Data.SqlClient;), OLE DB (using System.Data.OleDb;.). Ako se koristi povezivanje na bazu za koju nije direktno ugrađen snabdevač podacima u sam alat (Visual Studio u našem slučaju), tada se treba dodati snabdevač podataka za tu bazu. Na primer: mi koristimo MySQL, onda se dodatno postavlja MySql Connector (using MySql.Data.MySqlClient;),

Postoje dva osnovna načina rada: konektovani i diskonektovani.

Kod konektovanog scenarija resursi se uzimaju sa servera sve dok se konekcija ne zatvori. Korisnik je konstantno povezan na izvor podataka.

U diskonektovanom scenariju, podskup podataka iz baze podataka se kopira na lokalni računar, gde se radi dalja obrada tih podataka. Dok se korisnik nalazi u diskonektovanom radu, ostali korisnici mogu da koriste konekciju.

Iz ovoga se vidi da može da se desi da u diskonektovanom režimu rada podaci ne budu stalno ažurni (neko ih je izmenio dok smo mi radili na našoj kopiji).  Za razliku od toga, kod konektovanog režima podaci su stalno ažurni.  Nedostatak konektovanog rada je da mora da postoji konstantna mrežna konekcija.


Konektovani scenario

U ADO.NET-u postoje dva osnovna načina rada: konektovani i diskonektovani. Kod konektovanog scenarija resursi se uzimaju sa servera sve dok se konekcija ne zatvori. Korisnik je konstantno povezan na izvor podataka. Prednost konektovanog scenarija je da su podaci  uvek ažurni, konkuretni pristup resursima servera se lakše kontroliše. Nedostatak konektovanog rada je da mora da postoji konstantna mrežna konekcija.

Korišćenje ADO.NET klasa u konektovanom scenariju

 Redosled izvršavanja operacija pri radu u konektovanom scenariju je : otvaranje konekcije, izvršavanje komande, obrada zapisa u reader-u, zatvaranje reader-a i zatvaranje konekcije.

Prostori imena i nazivi klasa

Da bi se koristio SQL Server .NET snabdevač podataka potrebno je uključiti prostor imena System.Data.SqlClient. U ovom prostoru imena klase počinju sa prefiksom Sql, npr. SqlConnection. Da bi se koristio OLE DB .NET snabdevač mora se uključiti prostor imena System.Data.OleDb prostor imena. Klase počinju sa prefiksom OleDb, npr. OleDbConnection. Da bi se koristio MySQL .NET snabdevač, mora se uključiti prostor imena MySql.Data.MySqlClient. Klase počinju sa prefiksom MySql, npr. MySqlConnection, ...


Klase konektovanog scenarija

Klasa XxxConnection (Xxx označava odgovarajući prefiks npr Sql) omogućava uspostavljenje konekcije na odgovarajući izvor podataka. Klasa XxxCommand izvršava SQL komandu nad odgovarajućim izvorom podataka. Klasa XxxDataReader služi za čitanje podataka iz odgovarajućeg izvora podataka.


Diskonektovani scenario

U diskonektovanom scenariju podskup podataka iz baze podataka se kopira na lokalnom računaru. Dok se korisnik nalazi u diskonektovanom radu ostali korisnici mogu da koriste konekciju. Podaci koji predstavljaju lokalnu kopiju dela baze podataka nisu uvek ažurni. Kada se podacima iz lokalne kopije podataka ažurira baza može doći do konflikta.

Korišćenje ADO.NET klasa u diskonektovanom scenariju

U nastavku su prikazane osnovne klase koje se koriste u diskonektovanom scenariju. Redosled izvršavanja operacija pri radu u diskonektovanom scenariju je: otvaranje konekcije, punjenje DataSet objekta podacima iz baze, zatvaranje konekcije, obrada podataka u DataSet-u, ponovo otvaranje konekcije, ažuriranje baze podataka podacima iz DataSet-a, zatvaranje konekcije.

Klase diskonektovanog scenarija

Klasa XxxDataAdapter klasa koristi Connection, Command i DataReader klase da bi popunila DataSet. XxxConnection objekat uspostavlja konekciju sa specificiranim izvorom podataka. XxxCommand objekat izvršava komandu nad odgovarajućim izvorom podataka. XxxDataReader čita podatke iz izvora podataka.

Last modified: Monday, 18 May 2020, 8:51 PM