..


Sponsorētās saites

Managing savienojumiem ar datu bāzēm ar ADO.NET

Iepriekšējā nodarbībā mēs redzējām, kā saistīt savākšanas statiskā (pazīstams arī kā in-atmiņu), dažādiem servera pusē kontroli. Kaut arī šī tipa darbību, kam var būt noderīga dažos kontekstos, tomēr bieži vien nāk nepieciešamību saistīt vadīklas ar dažādām kolekcijām preces no citiem avotiem, bieži vien no datu bāzes.

Papildus tai skaitā klases bibliotēkas jaunattīstības galddatoru lietojumprogrammas (Windows Forms) un HTTP pieprasījumi (ASP.NET) vadība,. NET Framework arī bibliotēka, kas atbalsta savienojumu ar visdažādākajām datu bāzēm un ir sauc par ADO.NET (Active Data Objects. NET). Šī tehnoloģija ir balstīta uz trīs galvenās funkcijas: savienojuma ar datu bāzi, meklēšana datu bāzē, un rezultātu pārvaldību.

Ja vēlaties sadarboties ar datu bāzi, Jums ir jābūt savienojumu ar to. Savienojums ir nepieciešams noteikt datu bāzes atrašanās vietu, bet var arī prasīt drošības pārvaldību un citi kompleksie balstiem. Visi šie elementi ir jāpārvalda kā daļa no procesa, kas savieno ar datu bāzi. Pieslēguma informācija parasti tiek nodota kā virkne, kuru saturs ir izmantota, lai noteiktu dažādiem parametriem.

Ja iepriekš jums bija manuāli rakstīt kodu, lai piekļūtu datu bāzē, izmantojot ADO.NET, norādot, kāda veida datu bāzi, kuru vēlaties izveidot savienojumu un automātiski iestata īpašības ir piemērotas šāda veida savienojumu.

Ir vairāki veidi atbalstīto datu bāzes:

  • ODBC datu sniedzējs
  • OLE DB datu sniedzēju
  • OracleClient Data Provider
  • SqlClient Data Provider
  • SQL Server CE Data Provider
Šie veidiem, kas definēti iepriekš minētajā dāvanu Machine.config failu





 <configuration>

 





 <configSections>

 





 <Sadaļa name = "System.Data.Odbc"

 





 type = "







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

 





 <Sadaļa name = "System.Data.OleDb" type = "







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

 





 <Sadaļa name = "System.Data.OracleClient" type = "







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

 





 <Sadaļa name = "System.Data.SqlClient" type = "







 System.Data.Common.DbProviderConfigurationHandler, ...

 



 "/>

 





 <configSections />

 





 <system.data>

 





 <DbProviderFactories>

 





 <Pievienot name = "Microsoft SQL Server Compact Data Provider" invarianta = "







 System.Data.SqlServerCe.3.5 "

 





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

 





 </ DbProviderFactories>

 





 </ System.Data> <







 / Konfigurācija>>



Lai izveidotu datu bāzi savienojumu, tādēļ izmantotu tiesības komponentu. Ar pieejamību pieslēgumu jūs varat izmantot, lai piekļūtu datu bāzei. Piemēram, ja mūsu vietējā datora hosting datu bāze SQL Server sauc DB_TEST jāstājas iespējamo mūsu pieteikumu šādas savienojuma virkne






 <configuration>

 





 <connectionStrings>

 





 <Pievienot name = "TEST"

 





 connectionString = "serveris = (vietējās);







 Integrētās drošības = SSPI; DB_TEST datu bāze = "/>

 





 </ ConnectionStrings>







 </ Konfigurācija>



Šajā brīdī jūs varat atvērt savienojumu un ir datu bāze par to darbību veikšanu, ko mēs gribam.

Lielākā daļa datu bāzu atbalsta SQL valodu (Strukturēts Query Language), lai vaicājumu, izmaiņas, jaunu iespraudumiem un svītrojumiem datus. Šīs komandas parasti ir līdzīgā veidā šādu

 



 SELECT * FROM patērētājiem, ja Uzvārds = "Smith"

 
ja Klients ir tabula datubāzē. Šī komanda veic klientu sarakstu, kuru uzvārds ir Smith. Lai iegūtu šos datus mūsu piemērošana mēs rakstām šādu kodu





 TestDBApp klase







 {



  



 statisko spēku Main ()



  



 {



    



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



    



 Izmantojot (DbConnection savien = dbProviderFactory.CreateConnection ())



    



 {



      



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



      



 conn.ConnectionString = s;



      



 conn.Open ();



      



 DbCommand cmd = conn.CreateCommand ();



      



 cmd.CommandText = "SELECT * FROM patērētājiem, ja uzvārds = 'Smith" ";



      



 DbDataReader lasītājs = cmd.ExecuteReader ();



      



 / / Lietojiet lasītāju piekļūt datiem



    



 }



  



 }







 }



Komandu (cmd), izmantojot ExecuteReader metodi cēloņus sūtīšanu mūsu datubāzē vaicājumiem. Šajā gadījumā rezultāti ir iegūti, izmantojot instances IDataReader klases, bet varat arī pārvaldīt tos ar citas grupas, ko sauc DataSet.

IDataReader ir indicēts, lai veiktu atkārtojumiem no vaicājuma rezultātus. Jo īpaši tā pakļauj Lasīt metodi, kas uzsvērts caur rindās pa vienai, lai sequenziale.Lo trūkums ir tas, ka tad, kad skenēšanas nav iespējams atgriezties pie iepriekšējās rindas, un arī atgriezās rindas ir tikai lasāmi, lai jūs nevarat mainīt saturu.

Alternatīva ir IDataReader uz DataSet, kas ļauj vadība kopumu atvienots datus. ADO.NET ir paredzēts galvenokārt, lai atbalstītu pieteikumu ļoti pielāgojamiem un galvenās problēmas mērogojamību viens ir ierobežots pieslēgumu skaits datu bāzē. Faktiski datu bāzē bieži ir ierobežojums uz numuru savienojumus vienlaikus aktīvs noteiktajā laikā un, ja visiem, kas izmantošana ir atļauta darbība ir palēninājusies. Ja sistēmas lietotāju skaits ir aptuveni vienāds ar skaitu, savienojumi ir pieejami, tajā pašā laikā varētu radīt problēmas nav nozīmes, bet, ja lietotāju skaits ir pieaudzis sistēmas veiktspēju var ciest dramatiski.

Lai risinātu šīs problēmas, ADO.NET nodrošina DataSet klase, kas paredzēti, lai nodrošinātu sava veida datubāzes eksemplāru (vai to daļu), ko izmanto pieteikuma. Priekšrocības ir daudz, tikai domāju, ka laikā, piemēram no datu kopas, ko var ievadīt jaunus datus, atjaunināt vai dzēst jau esošās, un pēc tam apstiprināt visas šīs operācijas, tiek izpildītas atvienoti režīmā, pieslēdzoties datu bāzē īsā laika periodā.

DataSet klase ietver masīvu DataTable objektiem, kas ir apdzīvotas ar DataAdapter. Šie elementi ir piemērot gadījumā, ja iekraušana datus no datu bāzes tieši DataTable, un tad jūs varat strādāt ar šo vietējo datiem, mijiedarbojas ar datubāzi tikai tad, kad jūs apstiprināt izmaiņas, kas tiem iesniegti.

Tātad, izmantojot DataSet, mēs varam piekļūt katrs elements to tik pilnīgi nejauši, atšķirībā no to, ko mēs redzējām detaļas DbDataReader.

Palīdzība ar Visual Studio ASP.Net
E-Learning
ASP (Advanced) ASP (Advanced)
Pilns kurss, lai radītu dinamisku tīmekļa vietnes. Sākot no € 39.
ASP.NET (Kurss) ASP.NET (Kurss)
Pilns kurss būvniecībai Web pieteikumus no 49 €.
SQL un datu bāzes (Course) SQL un datu bāzes (Course)
Izveidot un pārvaldīt relāciju datu bāzēm. Sākot no € 39.
Sponsorētās saites