1 / 29

Andmebaasid (ja andmeallikad) .NETis

Andmebaasid (ja andmeallikad) .NETis. Heiki Tähis, MVP, , MCPD, MCT. Natuke sissejuhatust Natuke andmeallikatest Natuke XML’st Natuke Linq’st Palju näitamist. Milles räägime?. „Junn“. Andmeallikaga „junn“. Nii juba võib…. Andmeallikad. Ehk, kust kohast andmeid saada.

lamya
Download Presentation

Andmebaasid (ja andmeallikad) .NETis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Andmebaasid (ja andmeallikad) .NETis Heiki Tähis, MVP, , MCPD, MCT

  2. Natuke sissejuhatust • Natuke andmeallikatest • Natuke XML’st • Natuke Linq’st • Palju näitamist Milles räägime?

  3. „Junn“

  4. Andmeallikaga „junn“

  5. Nii juba võib…

  6. Andmeallikad Ehk, kust kohast andmeid saada

  7. Fail (tekstifail, binaarfail, jne) • XML vormingus andmed (failist, veebist, andmebaasist) • Andmebaas • (Veebi)teenus Andmeallikad

  8. ExtensibleMarkupLanguage • Andmete vahetamiseks ja edastamiseks mõeldud keel • Sarnaneb HTML’le kuid eesmärk on oluliselt erinev XML

  9. Nagu juba öeldud – andmete vahetamine, oluliselt mugavam kui näiteks lihtsalt tekstifaili abil • Seadistusfailid • Andmete säilitamine • Objektide kirjeldamine • XML ei tee ise midagi... XML (2)

  10. <?xml version="1.0" encoding=“utf-8"?> deklaratsioon, oluline on just kooditabeli määramine • Suured-väiksed tähed on olulised (tõstutundlik) • Iga tag peab lõppema • Struktuur tuleb hästi disainida • Atribuutide väärused jutumärkide vahele • Üks ja ainult üks juurelement • Elemendinimi ei tohi sisaldada tühikut ning alata numbri või punktiga XML (3)

  11. <?xml version="1.0" encoding=“utf-8"?> <notes> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> <note> <to>Jaan</to> <from>Maris</from> <heading>Reminder</heading> <body>Too kassiletoituka!</body> </note> </notes> XML – Näide (1)

  12. Atribuut võimaldab elemendile lisada infot • Aribuudi väärtused alati ülakomade või jutumärkide vahele! • Ühte atribuuti ei saa kasutada korduvalt ühe elemendi juures <kirje type=“midagi” type=“sedagi” /> • Atribuuti võib kasutada korduvalt erinevate elementide juures <kirje type=“midagi” /> <kirje type=“sedagi” /> XML - Atribuudid

  13. <?xml version="1.0" encoding=“utf-8"?> <notes> <noteid=“1” type=“Reminder”> <to>Tove</to> <from>Jani</from> <body>Don't forget me this weekend!</body> </note> <noteid=“2” type=“Ostulist”> <to>Jaan</to> <tovisible=“false”>NaabriMati</to> <from>Maris</from> <heading>Reminder</heading> <body>Too kassile toitu ka!</body> </note> </notes> XML – Näide (2)

  14. Demo Teeme ise XML faili

  15. Linq Ehk keele sees olev päringukeel

  16. LINQ is a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities. Linq

  17. Päringuid  • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ to DataSets Mida sellega teha saab?

  18. • Muutujatüüp var • • Objekti initsialiseerijad • • Anonüümsed muutujatüübid • • Laiendusmeetodid • • Lambda avaldised Abivahendid

  19. Muutujatüübiga var tähistatakse C# programmeerimiskeeles muutujaid, mille tüüp määratakse initsialiseerimise käigus. • Samas on var tüübikindel, sest kui tüüp on korra määratud, siis edaspidi seda muuta ei ole võimalik. Muutujatüüp var

  20. Kui tavaliselt tuleb objekti loomise järel kõik vajalikud andmeväljad eraldi täita, siis objekti initsialiseerijad loovad võimaluse algväärtustada loomise käigus ka kõik vajalikud andmeväljad. inimetonu = newinime(); tonu.eesnimi= "jaan"; tonu.vanus= 19; inime tonu2 = newinime { eesnimi = "jaan", vanus = 19 }; Objekti initsialiseerijad

  21. Anonüümsed muutujatüübid võimaldavad andmeobjekti tüübi luua selleks eelnevalt klassikirjeldust loomata. var inime2 = new { eesnimi = "Heiki", vanus = 28 }; // luuakse kahe andmeväljaga uus muutujatüüp var jorss = new { vanus = 8, eesnimi = "Jaan" }; // luuakse kahe andmeväljaga uus muutujatüüp Anonüümsed muutujatüübid

  22. Laiendusmeetod on staatiline meetod, mis on väljakutsutav moel nagu see oleks konkreetse instantsi dünaamiline meetod. Võimalikuks teeb selle märksõna thismeetodid parameetri ees. • Kui luua uus klaas Laiendused ning sinna sisse meetod LoeSonadLauses, mis näib välja nii: publicstaticclassLaiendused { publicstaticintLoeSonadLauses(thisString lause) { returnlause.Split(newchar[] { ' ', ',', '.'}).Length; } } Laiendusmeetodid

  23. Lambda avaldised C# keeles võimaldavad luua lihtsaid tingimuslauseid ning omistamisi. List<int> arvud = newList<int>(); // luuakse int tüüpi list for (int i = 0; i < 500; i++) arvud.Add(i); // täidetakse list arvudega 0..500 var paaritud = arvud.FindAll(N => N%2 != 0); // valitakse ainult paaritud arvud Lambda avaldised

  24. LINQ päringud sarnanevad mõnevõrra SQL keele päringutele, kuid samas on need päringud rohkem sarnased keele üldisele süntaksile Näide // loome lihtsa arvude listi, mis sisaldab arve nullist kuni 499’ni List<int> arvud = newList<int>(); // luuakse int tüüpi list for (int i = 0; i < 500; i++) arvud.Add(i); // täidetakse list arvudega 0..500 // teeme päringu, mis valiks sajast suuremad arvud: var paaritud2 = from x in arvud where x % 2 == 0 select x; Päringud

  25. Eesti keeles võiks öelda, et üldiselt on LINQ päringu süntaks on järgmine: võta midagi kusagilt suuremast kuhjast, vaata, kas sobib, kui sobib, siis pista teise kuhja. Puust ja punaseks

  26. Demo LINQ to XML

  27. Demo Teeme andmebaasi ka

  28. Demo LINQ to SQL

  29. Lõpp Küsimused?

More Related