..
V predchádzajúcej lekcii sme videli, ako sa to viaže statické kolekcia (tiež známy ako in-memory) do rôznych ovládacích prvkov na strane servera. Aj keď tento typ operácie môže byť užitočný v istých kontextoch, ale často je potrebné prepojiť rôzne ovládacie prvky kolekcie prvkov z iných zdrojov, často z databázy.
Okrem tried, vrátane knižníc pre vývoj desktopových aplikácií (Windows Forms) a pre riadenie požiadaviek HTTP (ASP.NET). NET Framework tiež obsahuje knižnicu, ktorá podporuje pripojenie k širokú škálu databáz a ich tzv ADO.NET (Active Data Objects. NET). Táto technológia je založená na tri hlavné funkcie: pripojenie k databáze, pátraniach databázy a výsledky hospodárenia.
Ak chcete komunikovať s databázou je potrebné k nemu pripojiť. Pripojenie si vyžaduje identifikáciu umiestnenie databázy, ale tiež môžu požiadať o riadení bezpečnosti a ďalších zložitých spočíva. Všetky tieto položky sú riešené v rámci procesu pripojenia k databáze. Informácie o pripojenie je zvyčajne odovzdaný ako reťazec, ktorého obsah sa používajú pre nastavenie rôznych parametrov.
Kým v minulosti bolo nutné ručne napísať kód pre prístup k databáze pomocou ADO.NET zadaním typu databázy, ktorú chcete pripojiť a automaticky nastaviť vlastnosti sú vhodné pre tento typ pripojenia.
Existuje niekoľko typov podporované databázy:
<konfigurace> <configSections> <Oddiel name = "System.Data.Odbc" type = " System.Data.Common.DbProviderConfigurationHandler, ..."/> <Oddiel name = "System.Data.OleDb" type = " System.Data.Common.DbProviderConfigurationHandler, ..."/> <Oddiel name = "System.Data.OracleClient" type = " System.Data.Common.DbProviderConfigurationHandler, ..."/> <Oddiel name = "System.Data.SqlClient" type = " System.Data.Common.DbProviderConfigurationHandler, ... "/> <configSections /> <system.data> <DbProviderFactories> <Pridať name = "Microsoft SQL Server Compact Data Provider" nemenný = " System.Data.SqlServerCe.3.5 " type = "System.Data.SqlServerCe.SqlCeProviderFactory ..." /> </ DbProviderFactories> </ System.dat> < / Configuration>>
Ak chcete vytvoriť pripojenie k databáze preto musia používať správne komponenty. S dostupnosťou pripojenia, ktoré potom môžete použiť pre prístup k databáze. Napríklad, ak naše lokálny počítač hosting servera SQL databázy s názvom DB_TEST musí uzavrieť prípadné naše žiadosť nasledujúce reťazec
<konfigurace> <connectionStrings> <Pridať name = "TEST" ConnectionString = "Server = (miestna); Integrované zabezpečenie = SSPI; DB_TEST database = "/> </ ConnectionStrings> </ Configuration>Na tomto mieste si môžete otvoriť pripojenie a mať databázu vykonávať operácie, ktoré chceme.
Väčšina databáz podporuje SQL (Structured Query Language), aby sa otázky, úpravy, nové vloženie a odstránenie dát. Tieto príkazy majú zvyčajne formu podobne ako v nasledujúcom
SELECT * FROM Zákazníci WHERE name = 'Smith'ak Zákazník je tabuľka v databáze. Tento príkaz má zoznam zákazníkov, ktorých priezvisko je Novák. Na získanie týchto údajov v našej aplikácii budeme písať nasledujúci kód
triedy TestDBApp
{
static void Main ()
{
DbProviderFactory DbProviderFactory DbProviderFactories.GetFactory = ("System.Data.SqlClient");
použitie (Prepojenie DB Conn = dbProviderFactory.CreateConnection ())
{
string s = ConfigurationManager.ConnectionStrings ["Test"] ConnectionString.
conn.ConnectionString = s;
conn.Open ();
DbCommand cmd = conn.CreateCommand ();
cmd.CommandText = "SELECT * FROM Zákazníci WHERE name = 'Smith'";
DbDataReader reader = cmd.ExecuteReader ();
/ / Pomocou čítačky pre prístup k dátam
}
}
}
Vykonanie príkazu (cmd) pomocou ExecuteReader metóda spôsobí zaslanie našich otázok do databázy.
Výsledky v tomto prípade boli získané prostredníctvom inštancie IDataReader, ale tiež môžete spravovať cez ďalšiu triedu s názvom DataSet.
IDataReader je indikovaný na iterácii na výsledky dotazu. Najmä odhaľuje Prečítajte si metódu, ktorá prechádza riadky jeden po druhom, takže sequenziale.Lo Nevýhodou je, že pri skenovaní nie je možné vrátiť sa k predchádzajúcej riadok a tiež sa vrátil riadky sú iba na čítanie, takže nemožno zmeniť obsah.
Alternatívou je IDataReader dátového súboru, ktorý umožňuje vedenie súboru dát odpojený. ADO.NET je určený predovšetkým pre podporu aplikácií veľmi škálovateľné a je jedným z hlavných problémov škálovateľnosti je limit na počet pripojení k databáze. Databázy sú v skutočnosti často limit na počet súbežných pripojení aktívny v danom čase, a ak všetky, ktorí používajú, sú povolené operácie spomalil. Ak sa počet užívateľov tohto systému je približne rovná počtu súčasných pripojení k dispozícii relevantné problémy nemusia nastať, ale v prípade, že počet užívateľov je väčší výkon systému môže byť ovplyvnená dramaticky.
Na riešenie týchto problémov ponúka ADO.NET DataSet triedy, ktorých účelom je poskytnúť akúsi kópiu databázy (alebo jeho časti) používaných aplikácií. Výhodou je mnoho, len si myslím, že v rámci inštancie dátového súboru môžete zadať nové dáta, aktualizovať alebo mazať existujúce a potvrďte, že všetky tieto operácie sa vykonávajú v režime odpojené pripojenie k databáze na krátku dobu.
DataSet trieda zahŕňa rad objektov, DataTable, ktoré sú obývané cez DataAdapter. Tieto prvky sú uplatňované pri načítaní dát z databázy priamo do DataTable a potom môžete pracovať na týchto lokálnych dát, prácu s databázou iba pri potvrdení zmeny k nim.
Takže pomocou DataSet, môžeme prístup akýkoľvek prvok v tom tak úplne náhodné, na rozdiel od toho, čo sme videli za súčasť DbDataReader.
| |
ASP (Advanced)
Celý kurz pre tvorbu dynamických webových stránok. Od 39 €. |
| |
ASP.NET (kurz)
Celý kurz pre tvorbu webových aplikácií od 49 €. |
| |
SQL a databázy (kurz)
Vytváranie a správa relačnej databázy. Od 39 €. |