..


Sponzorirani linkovi

Upravljanje povezivanjima na baze podataka s ADO.NET

U prethodnom sat smo vidjeli kako vezati statički zbirka (također poznat kao u memoriju) na različite server-side kontrole. Iako je ovaj tip operacije može biti korisno u određenim kontekstima, međutim, često dolazi potrebu povezivanja različitih kontrole zbirke elemenata iz drugih izvora, često iz baze podataka.

Osim uključujući klase knjižnice za razvoj desktop aplikacija (Windows Forms) i za upravljanje HTTP zahtjeva (ASP.NET),. NET Framework također uključuje biblioteku koja podržava spajanje na različite baze podataka i zove ADO.NET (Active Data Objects. NET). Ova tehnologija se temelji na tri glavne funkcije: povezivanje na bazu podataka, upite baze podataka, a rezultati upravljanja.

Kada želite interakciju s bazom podataka morate se povezati s njim. Veza zahtijeva identifikaciju lokacije baze podataka, ali također može pitati za upravljanje sigurnošću i drugih složenih počiva. Svi ti predmeti su korišteni kao dio procesa povezivanja u bazu podataka. Informacije o spajanju obično je prošao kao string, čiji sadržaj se koriste za podešavanje različitih parametara.

Dok je u prošlosti ste imali ručno pisanje koda za pristup bazi podataka kroz ADO.NET određivanjem Vrsta baze podataka želite povezati i automatski podešava svojstva su prikladni za tu vrstu veze.

Postoji nekoliko podržane baze podataka vrste:

  • ODBC Data Provider
  • OLE DB Provider podataka
  • OracleClient Davatelj podataka
  • SqlClient Davatelj podataka
  • SQL Server CE Davatelj podataka
Ove dar tipovi definirani u navedenom machine.config datoteke





 <configuration>

 





 <configSections>

 





 <Sekcija name = "System.Data.Odbc"

 





 type = "







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

 





 <Sekcija name = "System.Data.OleDb" type = "







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

 





 <Sekcija name = "System.Data.OracleClient" type = "







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

 





 <Sekcija name = "System.Data.SqlClient" type = "







 System.Data.Common.DbProviderConfigurationHandler, ...

 



 "/>

 





 <configSections />

 





 <system.data>

 





 <DbProviderFactories>

 





 <Dodaj name = "Microsoft SQL Server Compact podataka usluga" invarijantne = "







 System.Data.SqlServerCe.3.5 "

 





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

 





 </ DbProviderFactories>

 





 </ System.Data> <







 / Konfiguracija>>



Za stvaranje veze baze podataka, dakle mora koristiti pravo komponentu. Uz dostupnost veze onda možete koristiti za pristup bazi podataka. Na primjer, ako naše lokalno računalo hosting baze podataka SQL Server se zove DB_TEST mora ući u eventualnu naše aplikacije sljedeće veze niz






 <configuration>

 





 <connectionStrings>

 





 <Dodaj name = "test"

 





 connectionString = "Poslužitelj = (lokalne);







 Integrirana sigurnost = SSPI; DB_TEST baze podataka = "/>

 





 </ ConnectionStrings>







 </ Konfiguracija>



U ovom trenutku možete otvoriti vezu i da su baze podataka za obavljanje poslova koji želimo.

Većina baza podataka podržava SQL (Structured Query Language) da upita, promjene, nove umetanja i brisanja podataka. Te naredbe obično imaju oblik sličan sljedeće

 



 SELECT * FROM Kupci WHERE ime = 'Smith'

 
gdje Kupac je tablica u bazi podataka. Ova naredba se popis klijenata čije prezime Smith. Da biste dobili ove podatke u našoj primjeni smo napisati sljedeći kod





 klasa TestDBApp







 {



  



 static void main ()



  



 {



    



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



    



 koristite (DbConnection conn = dbProviderFactory.CreateConnection ())



    



 {



      



 string s = ConfigurationManager.ConnectionStrings ["Test"] ConnectionString.;



      



 conn.ConnectionString = s;



      



 conn.Open ();



      



 DbCommand cmd = conn.CreateCommand ();



      



 cmd.CommandText = "SELECT * FROM Kupci WHERE ime = 'Smith'";



      



 DbDataReader čitač = cmd.ExecuteReader ();



      



 / / Koristite čitač za pristup podacima



    



 }



  



 }







 }



Izvršenje naredbe (cmd) koristeći ExecuteReader način uzrokuje slanje naših upita na bazu podataka. Rezultati u ovom slučaju su dobiveni kroz primjer IDataReader, ali ih također možete upravljati preko drugog razreda pod nazivom DataSet.

IDataReader je naznačeno da ponoviti na rezultate upita. Posebice, ona razotkriva Čitajte način da ponovi kroz retke jedan po jedan, tako sequenziale.Lo nedostatak je da, kada skeniranje ne može se vratiti na prethodni redak i vratio redovi samo za čitanje, tako da ne mogu promijeniti sadržaja.

Alternativa je IDataReader na DataSet, koji omogućuje upravljanje skup isključen podataka. ADO.NET je dizajniran prvenstveno za podršku aplikacijama vrlo skalabilan i jedan od glavnih problema skalabilnosti je ograničenje broja priključaka u bazu podataka. Baze podataka su zapravo često ograničenje na broj istovremenih veza aktivne u bilo kojem trenutku i ako sve one u uporabi su dopuštene operacije usporio. Ako je broj korisnika sustava je približno jednak broj istodobnih veza na raspolaganju relevantnih problema ne može doći, ali ako broj korisnika je veće učinkovitosti sustava može utjecati na dramatično.

Za rješavanje tih problema ADO.NET DataSet klase pruža, tako da daje svojevrsni kopiju baze podataka (ili njen dio) koristi aplikacija. Prednosti su brojne, samo mislim da u roku od primjer skupa podataka možete unijeti nove podatke, ažuriranje ili brisanje postojećih, a zatim potvrdite da su svi ti operacije izvode u modu prekida spajanje na bazu podataka za kratko vrijeme.

DataSet razred uključuje niz DataTable objekti, koji su naseljeni preko DataAdapter. Ovi elementi su pozivati ​​kada se učitavanje podataka iz baze podataka izravno u DataTable i onda možete raditi na ovim lokalnim podacima, u interakciji s bazom podataka samo kada potvrdite promjene koje su napravljene za njih.

Dakle, koristeći DataSet možemo pristupiti bilo koji element u tako posve slučajan, za razliku od onoga što smo vidjeli za komponentu DbDataReader.

ASP.Net s Visual Studio Pomoć
E-učenje
ASP (Advanced) ASP (Advanced)
Cijeli tečaj za izradu dinamičkih Web stranica. Počevši od 39 €.
ASP.NET (tečaj) ASP.NET (tečaj)
Cijeli tečaj za izgradnju web aplikacija od 49 €.
SQL i baze podataka (tečaj) SQL i baze podataka (tečaj)
Stvaranje i upravljanje relacijskim bazama podataka. Počevši od 39 €.
Sponzorirani linkovi