..


Спонсоред Линкс

Управљање везе са базама података са АДО.НЕТ

У претходном лекцију смо видели како се везују колекцију статички (такође познат као у меморији) за различите контроле страни сервера. Иако се може овај тип операције бити корисни у одређеним контекстима, међутим, често долази потребу да се веже контроле да различите колекције предмета из других извора, често из базе података.

Поред укључујући и библиотеке класа за развој десктоп апликација (Виндовс Формс) и управљање ХТТП захтева (АСП.НЕТ), НЕТ. Укључује библиотеку која подржава повезивање са различитим базама података и зове АДО.НЕТ (Ацтиве Дата Објецтс. НЕТ). Ова технологија се заснива на три основне функције: повезивање на базу података, упите базе података, и резултата менаџмента.

Када желите да комуницирају са базом података морате да повежете са њом. Конекција захтева идентификацију локација базе података, али такође може питати за управљање безбедношћу и друге сложене почива. Сви ови елементи се управља као део процеса повезивања са базом података. Информације о вези је обично доноси као стринг, чији садржај користи се за подешавање различитих параметара.

Док је у прошлости сте морали ручно да пишу код за приступ бази података преко АДО.НЕТ одређивањем типа базе података који желите да повежете и аутоматски подешава својства су погодна за ту врсту везе.

Постоји неколико типова база података подржане:

  • ОДБЦ података провајдера
  • ОЛЕ ДБ података провајдера
  • ОрацлеЦлиент података провајдера
  • СклЦлиент података провајдера
  • СКЛ Сервер ЦЕ података провајдера
Ове врсте дефинисане у датотеци поменутих поклон мацхине.цонфиг





 <цонфигуратион>

 





 <цонфигСецтионс>

 





 <Секција наме = "Систем.Дата.Одбц"

 





 типе = "







 Систем.Дата.Цоммон.ДбПровидерЦонфигуратионХандлер, ..."/>

 





 <Секција наме = "Систем.Дата.ОлеДб" типе = "







 Систем.Дата.Цоммон.ДбПровидерЦонфигуратионХандлер, ..."/>

 





 <Секција наме = "Систем.Дата.ОрацлеЦлиент" типе = "







 Систем.Дата.Цоммон.ДбПровидерЦонфигуратионХандлер, ..."/>

 





 <Секција наме = "Систем.Дата.СклЦлиент" типе = "







 Систем.Дата.Цоммон.ДбПровидерЦонфигуратионХандлер, ...

 



 "/>

 





 <цонфигСецтионс />

 





 <систем.дата>

 





 <ДбПровидерФацториес>

 





 <Додај име = "Мицрософт СКЛ Сервер Цомпацт података провајдера" инваријантан = "







 Систем.Дата.СклСерверЦе.3.5 "

 





 типе = "Систем.Дата.СклСерверЦе.СклЦеПровидерФацтори ..." />

 





 </ ДбПровидерФацториес>

 





 </ Систем.Дата> <







 / Конфигурација>>



Да бисте креирали базу података везу мора да због тога користи право компоненту. Са доступно конекцију онда можете да користите за приступ бази података. На пример, ако наши локални рачунар домаћин базе података СКЛ Сервера зове ДБ_ТЕСТ мора да уђе у евентуални наш захтев следеће конекције низ






 <цонфигуратион>

 





 <цоннецтионСтрингс>

 





 <Додај име = "Тест"

 





 цоннецтионСтринг = "Сервер = (локалном);







 Интегратед Сецурити = СПИ; ДБ_ТЕСТ база података = "/>

 





 </ ЦоннецтионСтрингс>







 </ Конфигурација>



У овом тренутку можете отворити везу и да има базу података за извршење операција које желимо.

Већини база подржава СКЛ језик (Струцтуред Куери Лангуаге) да упита, промене, ново уметања и брисања података. Ове команде обично имају форму сличну следећој

 



 СЕЛЕЦТ * ФРОМ Купци ВХЕРЕ презиме = 'Смит'

 
где Купац је табела у бази података. Ова команда узима листу купаца чије презиме је Смит. Да бисте добили ове податке у нашем примене пишемо следећи код





 ТестДБАпп класе







 {



  



 статиц воид маин ()



  



 {



    



 ДбПровидерФацтори ДбПровидерФацтори ДбПровидерФацториес.ГетФацтори = ("Систем.Дата.СклЦлиент");



    



 користи (ДбЦоннецтион пр = дбПровидерФацтори.ЦреатеЦоннецтион ())



    



 {



      



 Стринг с = ЦонфигуратионМанагер.ЦоннецтионСтрингс ["тест"] ЦоннецтионСтринг.;



      



 цонн.ЦоннецтионСтринг = с;



      



 цонн.Опен ();



      



 ДбЦомманд ЦМД = цонн.ЦреатеЦомманд ();



      



 цмд.ЦоммандТект = "СЕЛЕЦТ * ФРОМ Купци ВХЕРЕ презиме = 'Смит'";



      



 ДбДатаРеадер читалац = цмд.ЕкецутеРеадер ();



      



 / / Користите читач за приступ подацима



    



 }



  



 }







 }



Команда (цмд) користећи метод узрока ЕкецутеРеадер слање наше базе података упита. Резултати у овом случају су добијене кроз пример ИДатаРеадер класе, али такође можете да их управљају кроз друге класе зове ДатаСет.

ИДатаРеадер је указао да изврши итерација на резултате упита. Посебно, он открива прочитане метод који понавља кроз редовима један по један, тако секуензиале.Ло мана је да када скенирање није могуће да се врати у претходни ред и вратио редови су само за читање тако да не можете да промените садржаја.

Алтернатива је да се ИДатаРеадер ДатаСет, који омогућава управљање скуп неповезаних података. АДО.НЕТ је пре свега дизајниран да подржи апликације веома скалабилна и један од главних проблема скалабилности је ограничење броја конекција на базу података. Базе података, у ствари, често имају лимит на број конекција истовремено активан у одређеном тренутку и ако све оне у употреби су дозвољене операције су успорене. Ако број корисника система је отприлике једнак број конекција на располагању у исто време може да изазове проблеме који нису релевантни, али ако број корисника се повећао перформансе система могу драматично пате.

Да би се ови проблеми АДО.НЕТ ДатаСет класу пружа, дизајниран да пружи неку врсту копије базе података (или њен дио) који се користи од стране апликација. Предности су многе, само мислим да је у инстанцу датасет можете да унесете нове податке, ажурирате или избришете постојеће, а затим потврдите све ове операције које се извршавају у искључени режиму повезивањем на базу података за кратко време.

ДатаСет класа укључује низ ДатаТабле предмете, који су насељена кроз ДатаАдаптер. Ови елементи су позвао, кад Учитавање података из базе података директно у ДатаТабле и онда можете да радите на овим локалним подацима, у интеракцији са базом података само када потврде измене на њих.

Дакле, користећи ДатаСет можемо приступити сваки елемент у њему тако потпуно случајно, за разлику од онога што смо видели за компоненту ДбДатаРеадер.

Помоћ за Висуал Студио АСП.Нет
Е-учење
АСП (Адванцед) АСП (Адванцед)
Цео курс за креирање динамичких веб сајтова. Од 39 €.
АСП.НЕТ (курс) АСП.НЕТ (курс)
Цео курс за изградњу Веб апликације од 49 €.
СКЛ и базе података (курс) СКЛ и базе података (курс)
Креирање и управљање релационим базама података. Од 39 €.
Спонсоред Линкс