..


Sponzorované odkazy

Správa připojení k databázím s ADO.NET

V předchozí lekci jsme viděli, jak se vážou sbírky statické (také známý jako in-memory) na různých ovládacích prvků na straně serveru. I když tento typ operace může být užitečné v určitých kontextech, ale často přichází potřeba svázat ovládací prvky pro různé sbírky předmětů z jiných zdrojů, často z databáze.

Kromě tříd, včetně knihoven pro vývoj desktopových aplikací (Windows Forms) a řízení požadavků HTTP (ASP.NET). NET Framework obsahuje také knihovnu, která podporuje připojení k širokou škálu databází a je tzv. ADO.NET (Active Data Objects. NET). Tato technologie je založena na tři hlavní funkce: připojení k databázi, zaslání dotazu do databáze a výsledky hospodaření.

Pokud chcete pracovat s databází, musíte se k němu připojit. Připojení vyžaduje identifikaci umístění databáze, ale také mohou požádat o řízení bezpečnosti a dalších složitých spočívá. Všechny tyto prvky jsou spravovány jako součást procesu připojení k databázi. Informace o připojení je obvykle předán jako řetězec, jehož obsah se používá pro nastavení různých parametrů.

Zatímco v minulosti bylo nutné ručně napsat kód pro přístup k databázi pomocí ADO.NET zadáním typ databáze, který chcete připojit a automaticky nastavit vlastnosti jsou vhodné pro tento typ připojení.

Existuje několik typů podporovaných databází:

  • ODBC Data Provider
  • OLE DB Data Provider
  • OracleClient Data Provider
  • SqlClient Data Provider
  • SQL Server CE Data Provider
Tyto typy definované ve výše uvedeném souboru dárek Machine.config





 <konfigurace>

 





 <configSections>

 





 <Oddíl name = "System.Data.Odbc"

 





 type = "







 System.Data.Common.DbProviderConfigurationHandler, ..."/>

 





 <Oddíl name = "System.Data.OleDb" type = "







 System.Data.Common.DbProviderConfigurationHandler, ..."/>

 





 <Oddíl name = "System.Data.OracleClient" type = "







 System.Data.Common.DbProviderConfigurationHandler, ..."/>

 





 <Oddíl name = "System.Data.SqlClient" type = "







 System.Data.Common.DbProviderConfigurationHandler, ...

 



 "/>

 





 <configSections />

 





 <system.data>

 





 <DbProviderFactories>

 





 <Přidání name = "Microsoft SQL Server Compact Data Provider" neměnný = "







 System.Data.SqlServerCe.3.5 "

 





 type = "System.Data.SqlServerCe.SqlCeProviderFactory ..." />

 





 </ DbProviderFactories>

 





 </ System.Data> <







 / Configuration>>



Chcete-li vytvořit připojení k databázi proto musí používat správné komponenty. S dostupností připojení, pak můžete použít pro přístup k databázi. Například, pokud naše lokální počítač hosting databázi serveru SQL Server volal DB_TEST musí vstoupit do případné naše žádost následující řetězec






 <konfigurace>

 





 <connectionStrings>

 





 <Přidání name = "TEST"

 





 ConnectionString = "server = (místní);







 Integrované zabezpečení = SSPI; DB_TEST database = "/>

 





 </ ConnectionStrings>







 </ Configuration>



Na tomto místě si můžete otevřít připojení a mít databázi pro provádění činností, které chceme.

Většina databází podporu jazyka SQL (Structured Query Language), aby se dotazy, změny, nové vložení a odstranění dat. Tyto příkazy mají obvykle formu podobné následujícím

 



 SELECT * FROM zákazníky, příjmení = 'Smith'

 
pokud Zákazník je tabulka v databázi. Tento příkaz má seznam zákazníků, jejichž příjmení je Novák. K získání těchto údajů v naší aplikaci budeme psát následující kód





 TestDBApp třídy







 {



  



 static void Main ()



  



 {



    



 DbProviderFactory DbProviderFactory DbProviderFactories.GetFactory = ("System.Data.SqlClient");



    



 použití (DBConnection conn = dbProviderFactory.CreateConnection ())



    



 {



      



 string s = ConfigurationManager.ConnectionStrings ["test"] ConnectionString.



      



 conn.ConnectionString = s;



      



 conn.Open ();



      



 DbCommand cmd = conn.CreateCommand ();



      



 cmd.CommandText = "SELECT * FROM zákazníky, příjmení = 'Smith'";



      



 DbDataReader reader = cmd.ExecuteReader ();



      



 / / Pomocí čtečky pro přístup k datům



    



 }



  



 }







 }



Příkaz (cmd) pomocí ExecuteReader metoda způsobí zaslání našich databázových dotazů. Výsledky jsou v tomto případě získává instanci třídy IDataReader, ale také můžete spravovat přes další třídu s názvem DataSet.

IDataReader je určen k provádění iterací na výsledky dotazu. Zejména odhaluje Přečtěte si metodu, která prochází řádky po jednom, takže sequenziale.Lo Nevýhodou je, že při skenování není možné vrátit se k předchozí řádek a také se vrátil řádky jsou pouze pro čtení, takže není možné měnit obsah.

Alternativou je IDataReader datového souboru, který umožňuje vedení souboru dat odpojen. ADO.NET je určen především pro podporu aplikací velmi škálovatelné a je jedním z hlavních problémů škálovatelnosti je limit na počet připojení k databázi. Databáze, ve skutečnosti často mají omezení na počet současně aktivních spojení v daném čase, a pokud všechny, kteří používají, jsou povoleny operace se zpomalily. Pokud se počet uživatelů tohoto systému je zhruba roven počtu možných spojení současně může způsobit problémy, které nejsou důležité, ale pokud se počet uživatelů zvýšil výkon systému mohou trpět dramaticky.

K řešení těchto problémů poskytuje ADO.NET DataSet třídy, jejichž účelem je poskytnout jakousi kopii databáze (nebo jeho části), používané aplikace. Výhodou je mnoho, jen si myslím, že v rámci instance datového souboru můžete zadat nová data, aktualizovat nebo mazat stávající a potvrďte všechny tyto operace, které jsou provedeny v odpojen režimu připojení k databázi na krátkou dobu.

DataSet třída zahrnuje řadu objektů DataTable, která jsou naplněna přes DataAdapter. Tyto prvky jsou uplatňovány při načítání dat z databáze přímo do DataTable a pak můžete pracovat na těchto lokálních dat, práci s databází pouze při potvrzení změny k nim.

Takže pomocí DataSet, můžeme přístup ke každému prvku tak zcela náhodné, na rozdíl od toho, co jsme viděli za součást DbDataReader.

Pomoc s Visual Studio ASP.Net
E-Learning
ASP (Advanced) ASP (Advanced)
Celý kurz pro vytváření dynamických webů. Od 39 €.
ASP.NET (kurz) ASP.NET (kurz)
Celý kurz pro vytváření webových aplikací od 49 €.
SQL a databází (kurz) SQL a databází (kurz)
Vytváření a správa relační databáze. Od 39 €.
Sponzorované odkazy