..


Rėmėjų nuorodos

Valdymo jungtis prie duomenų bazių su ADO.NET

Ankstesnėje pamokoje mes pamatėme, kaip įpareigoti statinio kolekcija (taip pat žinomas kaip atminties) įvairių serverio pusėje kontrolė. Nors šios rūšies veiklos gali būti naudingas tam tikrose srityse, tačiau dažnai ateina reikia įpareigoti kontrolę įvairių rinkinių elementus iš kitų šaltinių, dažnai iš duomenų bazės.

Be to, taip pat klasės bibliotekų plėtros darbastalio programos (Windows Forms) ir HTTP užklausų (ASP.NET) valdymas. NET Framework taip pat yra biblioteka, kuri palaiko ryšį su įvairių duomenų bazių ir vadinamas ADO.NET (Aktyvieji duomenų objektai. NET). Ši technologija yra pagrįsta tris pagrindines funkcijas: jungiantis prie duomenų bazės užklausų duomenų bazę, ir rezultatus valdymas.

Jei norite bendrauti su duomenų baze, turite prisijungti prie jo. Ryšys reikalauja, kad duomenų bazės vietą identifikavimo bet taip pat gali prašyti saugumo valdymo ir kitos kompleksinės atramos. Visi šie elementai yra valdomi kaip dalis jungiantis prie duomenų bazės procesas. Ryšio informacija paprastai yra perduodamas kaip string, kurių turinys yra naudojami nustatant įvairių parametrų.

Nors praeityje jums teko rankiniu būdu rašyti kodą pasiekti per ADO.NET duomenų bazėje, nurodant duomenų tipą norite prisijungti ir automatiškai nustatyti savybių yra tinkami, kad ryšio tipą.

Yra keletas tipų duomenų bazių palaikymas:

  • ODBC duomenų teikėjas
  • OLE DB duomenų teikėjas
  • OracleClient Duomenų teikėjas
  • SqlClient Duomenų teikėjas
  • SQL Server CE Duomenų teikėjas
Šie rūšims, apibrėžtoms minėto dovana Machine.config failą





 <configuration>

 





 <configSections>

 





 <Skyriaus pavadinimas = "System.Data.Odbc"

 





 type = "







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

 





 <Skyriaus pavadinimas = "System.Data.OleDb" type = "







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

 





 <Skyriaus pavadinimas = "System.Data.OracleClient" type = "







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

 





 <Skyriaus pavadinimas = "System.Data.SqlClient" type = "







 System.Data.Common.DbProviderConfigurationHandler, ...

 



 "/>

 





 <configSections />

 





 <system.data>

 





 <DbProviderFactories>

 





 <Pridėti name = "Microsoft SQL Server Compact Duomenų teikėjas" nekintamų = "







 System.Data.SqlServerCe.3.5 "

 





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

 





 </ DbProviderFactories>

 





 </ System.Data> <







 / Configuration>>



Norėdami sukurti duomenų bazę, turi būti naudojama teisės sudedamoji dalis. Su ryšio prieinamumą Tada galite naudoti prieigai prie duomenų bazės. Pavyzdžiui, jei mūsų vietinio kompiuterio hostingas SQL Server duomenų bazę, vadinamą DB_TEST turi sudaryti galiausiai mūsų prašymą šiuos jungtys






 <configuration>

 





 <connectionStrings>

 





 <Pridėti name = "testas"

 





 connectionString = "Server = (vietinis);







 Integruota Saugumo = SSPI; DB_TEST duomenų bazės = "/>

 





 </ ConnectionStrings>







 </ Configuration>



Šiuo metu galite atidaryti ryšį ir turėti šias operacijas, kad norime vykdyti duomenų bazėje.

Dauguma duomenų bazių palaikymo SQL kalba (Structured Query Language) atlikti užklausas, pokyčių, naujų įkišimo ir duomenų ištrynimo. Šios komandos paprastai forma panašus į šį

 



 SELECT * FROM klientai WHERE Pavardė = "Smith"

 
kur Klientas į duomenų bazės lentelę. Ši komanda užima vartotojai, kurių pavardė yra Smith sąrašą. Kad gautų šiuos duomenis mūsų taikymą mes rašome šį kodą





 TestDBApp klasė







 {



  



 statinio void main ()



  



 {



    



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



    



 naudojant (DbConnection conn = dbProviderFactory.CreateConnection ())



    



 {



      



 styginių S = ConfigurationManager.ConnectionStrings ["Test"] ConnectionString.;



      



 conn.ConnectionString = S;



      



 conn.Open ();



      



 DbCommand cmd = conn.CreateCommand ();



      



 cmd.CommandText = "SELECT * FROM klientai WHERE Pavardė =" Smith ";



      



 DbDataReader skaitytojui = cmd.ExecuteReader ();



      



 / / Naudoti skaitytojo prieigos prie duomenų



    



 }



  



 }







 }



Komanda (CMD) naudojant ExecuteReader metodas sukelia mūsų duomenų bazės užklausų siuntimo. Šiuo atveju rezultatai gaunami per iš IDataReader klasės Pavyzdžiui, bet taip pat galite juos valdyti per kitą klasės vadinamas duomenų rinkinį.

IDataReader nurodoma atlikti iteracijų apie užklausos rezultatus. Visų pirma ji atskleidžia Skaityti metodą, kad kartojasi eilučių vienu metu, kad sequenziale.Lo trūkumas yra tai, kad kai nuskaitymo neįmanoma grįžti prie ankstesnės eilutės ir taip pat grįžo eilutės tik skaityti, todėl jūs negalite keisti turinio.

Alternatyva yra IDataReader į duomenų bazę, kuri leidžia valdyti ir atjungtas duomenų rinkinį. ADO.NET yra suprojektuotos daugiausia paramos programos labai keičiamo dydžio ir viena iš pagrindinių problemų mastelio yra apriboti į jungtis prie duomenų bazės numerį. Faktiškai duomenų bazės dažnai apie ryšius vienu metu aktyviai skaičiaus tam tikru metu ir jei visi tų naudoti leidžiama operacijos sulėtėjo. Jei sistemos naudotojams, skaičius yra maždaug lygus jungtys yra tuo pačiu metu, skaičius gali sukelti problemų ne tinka, bet jei vartotojų skaičius išaugo sistemos veiklos gali nukentėti dramatiškai.

Siekdama spręsti šias problemas ADO.NET suteikia DataSet klasės, skirtos pateikti duomenų bazės kopiją (ar jos dalis) naudojama taikymo rūšiuoti. Privalumų yra daug, tiesiog manau, kad per su duomenų rinkinį, galite įvesti naujus duomenis, atnaujinti arba ištrinti esamus, o tada patvirtinti visas šias operacijas, kurios atliekamos atjungtas režimą jungiantis prie per trumpą laiką duomenų bazės pavyzdys.

DataSet klasę įeina į DataTable objektus, kurie gyvena per DataAdapter masyvo. Šie elementai yra taikoma, kai apkrovos duomenis iš duomenų bazės tiesiai į DataTable ir tada jūs galite dirbti su šių vietos duomenis, bendrauti su duomenų baze tik tada, kai patvirtinti pakeitimus, padarytus jiems.

Taigi, naudojant DataSet mes galime gauti kiekvienas elementas taip, kad visiškai atsitiktinai, skirtingai nei tai, ką mes matėme sudėtinės DbDataReader.

Pagalba su Visual Studio ASP.Net
E-mokymasis
ASP (Advanced) ASP (Advanced)
Visas kursas sukurti dinaminius interneto svetainių. Nuo 39 €.
ASP.NET (kurso) ASP.NET (kurso)
Visas kursas statybos interneto programų nuo 49 €.
SQL ir duomenų bazės (kurso) SQL ir duomenų bazės (kurso)
Kurkite ir tvarkykite reliacinėse duomenų bazėse. Nuo 39 €.
Rėmėjų nuorodos