Pomoc, Ado.net
Prikazujem rezultate 1 do 3 od 3

Tema: Pomoc, Ado.net

  1. #1
    Zainteresovan član СРБIN (avatar)
    Učlanjen
    06.08.2006.
    Pol
    muški
    Poruke
    204
    Reputaciona moć
    44

    Podrazumevano Pomoc, Ado.net

    E ljudi jel' hoce neko da mi napishe par reči na temu ADO.net?! Od pomoći bi mi bio i neki sajt (na srpskom) ili nesto sl.?! Please...



  2. #2
    Iskusan codemaker (avatar)
    Učlanjen
    05.04.2004.
    Lokacija
    Beograd
    Poruke
    6.416
    Reputaciona moć
    0

    Podrazumevano Re: Pomoć ?!

    Srbine, naslov teme je idealan za brzu pomoc... tesko bilo napisati naslov teme poput "Pomoc, Ado.net" ?
    Nisi od juce na forumu, trebao bi vec znati

  3. #3
    Primećen član maksvel (avatar)
    Učlanjen
    30.06.2004.
    Pol
    muški
    Poruke
    778
    Reputaciona moć
    57

    Podrazumevano Re: Pomoc, Ado.net

    Evo izvoda iz jednog mog seminarskog, nadam se da će pomoći:
    ADO.NET представља модел за креирање дистрибуираних апликација; ослања се на неколико простора имена.
    Код ADO.NET-а примењују се два начина рада са подацима: преко DataSet-ова и преко DataReader-а.
    DataSet
    Типичан проблем у раду са базама података јесте конкурентна обрада. Велики број отворених конекција ка бази смањује перформансе система или чак доводи до отказа апликације. Суштина DataSet-а је да се врши читање података и шеме базе и рад са таквом, „прочитаном“ off-line верзијом, која се налази у меморији. Овакав приступ елиминише потребу за конекцијом на базу - потребно је само прочитати потребне податке и шему базе и затворити конекцију. Касније се резултат обраде таквог DataSet објекта враћају у изворну базу . DataSet садржи податке у XML облику, а за превођење из оригиналног извора података (база) у DataSet, као и за враћање из DataSet-a у базу користи се DataAdapter. На слици 1.3. приказана је архитектура ADO.NET-а.

    Функционалност рада са подацима обезбеђују провајдери, а иницијално .NET садржи провајдере за SQL сервер, затим OleDb провајдер (за Jet базу), као и Oracle провајдер.
    Основни објекат који треба иницијализовати за приступ извору података јесте Connection. Зависно од типа извора података, користи се класа Connection која припада различитом простору имена. Углавном се говори од SQL Server-у и онда се користи простор System.Data.SQLClient. У случају рада са Jet engine (Access), користи се простор System.Data.OleDb . Да би се отворила конекција ка Jet-у, потребно је проследити конструктору конекције стринг са детаљима повезивања (путања до базе, начин аутентификације). Овај стринг не треба чувати у коду, већ у конфигурационом фајлу апликације, где се онда према потреби може централизовано изменити. Подаци се у DataSet допремају одређеном командом у Transact SQL-у.
    DataSet је основни и најмоћнији облик коришћења ADO.NET-а. Препоручује се у случајевима када је потребно:
    • кеширати податке,
    • радити са подацима из различитих извора,
    • преносити податке кроз слојеве користећи XML сервисе,
    • изводити обимно процесуирање по запису.
    DataReader
    Datareader представља опцију за манипулацију подацима у следећим случајевима:
    • није потребно кеширање,
    • потребан је једносмеран ток података за читање,
    • подаци са којима се ради заузимали би превише меморије за DataSet.
    (За добијање DataSet-а фактички се користи DataReader.)
    Кад се ради са DataReader-ом, потребно је отворити конекцију и држати је отвореном док се не заврши са радом. Уколико се користи један DataReader, пре коришћења другог, мора се претходни затворити. DataReader се креира позивом методе ExecuteReader командног објекта. Када се користи OleDb провајдер (односно простор System.Data.OleDb и Jet база), уобичајено је, поред ЕxecuteReader, чиме се креира DataReader, позивати и друге методе за манипулацију подацима. Посебно:
    • ExecuteNonQuery - извршава SQL исказ и враћа број измењених записа,
    • ExecuteScalar - извршава SQL исказ и враћа прву колону првог записа као резултат.
    При дефинисању Transact SQL исказа који се намеравају користити за рад са подацима, често је потребно програмирано постављати неке делове исказа. Тада се користе параметри - код Jet-a је специфично што се у оригиналном исказу на местима где стоје параметризоване вредности, стоје знаци питања. Нпр:
    Kod:
    string sSQL1 = "UPDATE Polaganje SET Polaganje.ocena = ? WHERE (((Polaganje.polaganjeID)=?))"
            OleDbCommand komanda = new OleDbCommand(sSQL1, k.kon)
    	  string ocena = txtBoxOcena.Text
    	
            komanda.Parameters.Add(new OleDbParameter("oc",ocena))
            int polaganjeID = (int)Session["polaganjeID"]
    komanda1.Parameters.Add(new OleDbParameter("pID",polaganjeID))
    Овде стринг садржи текст команде, у коме постоје два параметра: за вредност ocena и polaganjeID. Ова два параметра се додељују помоћу методе Add која колекцији Parameters додаје параметре назива „oc“ и „pID“. Важно је да се парамтри додају по редоследу у коме су очекивани у изворном SQL исказу.
    Код SQL сервера параметри се задају другачије. Користи се SQL провајдер, односно Data.SQLClient простор имена. Претходни пример би изгледао овако:
    Kod:
    string sSQL1 = "UPDATE Polaganje SET Polaganje.ocena = @ocena WHERE (((Polaganje.polaganjeID)=@polaganjeID))"
            SqlCommand komanda = new SqlCommand(sSQL1, k.kon)
    	  string ocena = txtBoxOcena.Text
            komanda.Parameters.AddWithValue("ocena",ocena))
            int polaganjeID = (int)Session["polaganjeID"]
    komanda1.Parameters.AddWithValue("polaganjeID",polaganjeID))
    У овом случају није битан редослед задавања параметара, јер су они у исказу дефинисани конкретним именима.
    Још више специфициран рад са подацима постиже се коришћењем stored процедура. Ове процедуре су део саме базе и потребно им је само проследити параметре, без потребе за слањем читавих исказа. На овај начин се обезбеђује мањи интензитет саобраћаја на релацији клијент-сервер, а и сама брзина извршавања оваквих процедура је већа него код приступа DataReader-ом.
    Poslednji put ažurirao/la maksvel : 19.04.2007. u 23:27
    Let the boy try

Slične teme

  1. POMOC! Potrebne slike igracha Crwene Zvezde .POMOC
    Autor Interista u forumu Fudbal
    Odgovora: 4
    Poslednja poruka: 20.03.2007., 16:40
  2. !! POMOC !! Dodatna antena za mobilni telefon !! POMOC !!
    Autor ludak1985 u forumu Mobilna telefonija
    Odgovora: 7
    Poslednja poruka: 27.08.2005., 00:10
  3. pomoc pomoc yahoo mail i krstarica pricaonica
    Autor copex u forumu Sigurnost i zaštita
    Odgovora: 1
    Poslednja poruka: 10.11.2004., 23:46

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •