Všetko je to o údajoch

Poskytovateľ údajov .NET

Všetko je to o dátach

Poskytovateľ údajov je súbor súvisiacich komponentov, ktoré umožňujú prístup k databáze a ako je znázornené na obrázku vľavo, pozostáva z nasledujúcich častí:

• Pripojenie, ktoré vytvára skutočné pripojenie k databáze. Objekt pripojenia obsahuje všetky informácie potrebné na otvorenie pripojenia, ako napríklad ID používateľa a heslo.

• Príkaz, ktorý obsahuje inštrukciu použitú na prístup k údajom. Príkaz by mohol spôsobiť vykonanie uloženej procedúry alebo problém s dotazom SQL a mohol by vrátiť celú tabuľku.

• DataReader je rýchly a efektívny dopredný čítací súbor záznamov iba na čítanie, ktorý vracia jednotlivé riadky údajov priamo do aplikácie pre tých, prípady, keď údaje nie je potrebné ukladať do vyrovnávacej pamäte (napríklad v aplikácii ASP.NET, ktorá jednoducho načíta množinu údajov a prezentuje informácie ako stránka). DataReader sa nevytvára priamo, ale vracia sa ako výsledok vykonania príkazu.

• DataAdapter sa používa na naplnenie (odpojenej) množiny údajov záznamami alebo na vykonanie aktualizácie z tejto množiny údajov. Táto trieda v skutočnosti pôsobí ako sprostredkovateľ medzi fyzickou databázou/poskytovateľom údajov a odpojenou množinou údajov. Prvou úlohou DataAdaptera je vyplniť tabuľku údajov alebo množinu údajov z databázy a potom ešte raz s údajmi v pamäti sa primerane manipulovalo a všetky zmeny sa vrátia späť do fyzického stavu databázy.

Jednoduchý príklad

Aby som ukázal triedy poskytovateľa údajov .NET v akcii, vytvoril som jednoduchú databázu SQL s názvom PCPRO obsahuje jednu tabuľku s názvom customer a ktorá žije na serveri SQL (Cookhamsql.cookham.net) v mojom súkromnom siete. Tabuľka zákazníkov má iba štyri stĺpce s názvom ID zákazníka, meno zákazníka, kontaktné meno zákazníka a kontaktný e-mail zákazníka a obsahuje iba niekoľko riadkov údajov. V tomto príklade som použil SQL Server 2005.

Najprv sa pozrime na pripojenie, ktoré sa používa na otvorenie databázy. Tu je kúsok kódu C#, ktorý definuje reťazec pripojenia, otvorí databázu a vytlačí niektoré základné informácie o pripojení na základe objektu pripojenia:


pomocou systému;

pomocou systému. údaje;

pomocou systému. Údaje. SqlClient;

pomocou systému. Text;

menný priestor PCPRO

{

trieda OpenDB

{

public const string CONN_STRING = “Zdroj údajov=CookhamSQL; Počiatočný katalóg=PCPRO; ID užívateľa=PCPro; Heslo=Cookham1”;

static void Main (string[] args)

{

Systém. Konzola. WriteLine („Pripojenie k databáze

“);

Pripojenie SqlConnection = nové pripojenie SqlConnection (CONN_STRING);

spojenie. OTVORENÉ();

Konzola. WriteLine(“Verzia servera: {0}”, pripojenie. ServerVerzia);

Konzola. WriteLine(“Databáza: {0}”, spojenie. Databáza);

Konzola. WriteLine(“Zdroj údajov: {0}”, pripojenie. Dátový zdroj);

Konzola. WriteLine(“Stats Enabled: {0}”, pripojenie. StatisticsEnabled);

}

}

}

Všimnite si, aké jednoduché je otvoriť databázu: najprv vytvorte reťazec pripojenia (CONN_STRING), aby ste ADO.NET povedali, ku ktorej databáze sa má pripojiť, a používateľskému id/heslu. Ďalej vytvorte nový objekt SQLConnection špecifikujúci reťazec pripojenia a nakoniec vykonajte metódu Open(). Program potom vytlačí niektoré informácie, ako je znázornené na obrázku vyššie.

Ak chcete ísť trochu ďalej, použite objekt SQLCommand na výber všetkých údajov z tabuľky v databázu, potom použite objekt SQLDataReader na čítanie a zobrazenie obsahu tabuľky v nej tabuľky. Aby sme udržali veci čisté, umiestnili sme tento kód na obalový disk – nájdete ho v sekcii Editoriál s názvom dotnet1.cs. Otvorí databázu, vytvorí reťazec dotazu na výber všetkých riadkov údajov z tabuľky zákazníka a potom vytvorí nový objekt SQLDataReader na sekvenčné čítanie tabuľky. Program potom prejde každý riadok v tabuľke a vytlačí prvé tri polia v tabuľke (ktoré zodpovedajú ID zákazníka, Meno zákazníka a Meno kontaktu zákazníka). Vzorový výstup je zobrazený na snímke obrazovky nižšie.