Poskytovateľ údajov .NET
![Všetko je to o dátach](/f/c97e7cb428637a2d5c669876a208ea59.jpg)
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.