MICROSOFT LINQ. Susanna Salonen

Koko: px
Aloita esitys sivulta:

Download "MICROSOFT LINQ. Susanna Salonen"

Transkriptio

1 MICROSOFT LINQ Susanna Salonen Huhtikuu 2008

2 1 SISÄLTÖ 1 TIIVISTELMÄ JOHDANTO MIKÄ ON LINQ? LINQ:N OSA-ALUEET LINQ to Objects LINQ to ADO.NET LINQ to XML OBJECT-RELATIONAL MAPPING (ORM) LINQ TO SQL LINQ To SQL käytännössä - osa LINQ To SQL käytännössä - osa LISÄTIETOJA LINQ:STA YHTEENVETO LÄHTEET... 31

3 2 1 TIIVISTELMÄ Työn tavoitteena oli selvittää, mikä on Microsoft LINQ, mistä eri osa-alueista se koostuu ja kuinka sitä voidaan hyödyntää kyselyiden tekemisessä tietokantaan, XML - muodossa olevaan dataan tai muistissa oleviin objekteihin. Tavoitteena oli myös etsiä käytännön kokemuksia LINQ:n käytöstä ohjelmistoprojekteissa, ja listata sen pohjalta LINQ:n hyviä ja huonoja puolia. Lisäksi kerättiin linkkejä erilaisiin LINQ:ta käsitteleviin sivustoihin, joiden avulla on helppo lähteä tutustumaan LINQ -tekniikkaan syvemmin. Selvityksessä LINQ:ta verrattiin perinteiseen sulautettuun SQL:ään. Selvitystyö tehtiin pitkälti LINQ:sta julkaistun sähköisen materiaalin pohjalta etsimällä tietoa edellä esitettyihin asioihin. Selvitystyön perusteella voidaan todeta, että LINQ:ssa on monia hyviä puolia verrattuna perinteiseen sulautetun SQL:n käyttöön ohjelmoinnissa ja sillä voidaan tehdä ohjelmointityöstä paljon aiempaa tehokkaampaa ja ohjelmakoodista ylläpidettävämpää. Selvitystyö kuitenkin osoitti, että tehokkuutta ei saada paranemaan, ellei LINQ:ta osata hyödyntää oikeaoppisesti tai tuntematta sen rajoitteita. Jos LINQ:ta käytetään ainoastaan sulautetun SQL:n korvikkeena, jäävät uuteen tekniikkaan siirtymisestä syntyvät hyödyt vähäisiksi

4 3 2 JOHDANTO Tämä selvitysraportti tehtiin keväällä 2008 Jyväskylän ammattikorkeakoulun tietokantojen suunnittelu ja tietokantojen hallinta -kurssien harjoitustyönä. Selvitysraportissa perehdyttiin Microsoftin tekniikkaan yhdistää olio-ohjelmointi ja relaatiotekniikat. Tämä tekniikka nimeltä LINQ (Language Integrated Query) julkaistiin lopullisesti Microsoft Visual Studio 2008:n ja.net Framework 3.5:n mukana. LINQ mahdollistaa erilaisten tietolähteiden, kuten tietokannan, xml -tiedostojen tai itse luotujen olioiden käytön ohjelmakoodissa samanlaisella hakusyntaksilla. Tähän selvitysraporttiin pyrittiin kokoamaan LINQ:n hyviä puolia, ja kertomaan esimerkein, kuinka LINQ:ta voidaan hyödyntää ohjelmoinnissa. Tarvittava ympäristö LINQ kokeiluiden tekemistä varten asennettuna täytyy olla Microsoft Visual Studio 2008 ja.net Framework 3.5. Ennen kehitysympäristön asentamista, kannattaa asentaa.net Framework 3.5 osoitteesta: (viitattu ). Visual Studio 2008 Express version voi ladata osoitteesta: (viitattu ). Opiskelijat on mahdollisuus ladata myös Visual Studio 2008:n Professional -versio Microsoftin DreamSparkista: (viitattu ). Sekä kehitysympäristön, että Framework:n voi ladata ilmaiseksi. 3 MIKÄ ON LINQ? LINQ on ohjelmointimalli, joka tarjoaa täysin uudenlaisen tavan kyselyiden tekemiseen ja datan käsittelyyn Microsoftin.NET projekteissa. LINQ pyrkii eroon tavallisen sulautetun sql -kielen mukanaan tuomista rajoitteista ja samalla kasvattamaan oh-

5 4 jelmointityön tuottavuutta, tarjoamalla lyhyemmän, mielekkäämmän ja ilmaisuvoimisen syntaksin datan käsittelyyn. (Pialorsi & Russo 2007, 2.) Tässä esimerkiksi tyypillinen tilanne, jossa ohjelmallisesti haetaan kaikki suomalaisten yritysasiakkaiden nimet tietokannasta: var query = from c in Customers where c.country == "Finland" select c.companyname; Kyselystä voi heti huomata eron normaaliin sql:n syntaksiin. Sql -kyselyssä luetellaan ensin tietokannan sarakkeet, jotka kyselyyn otetaan mukaan, ja vasta tämän jälkeen kerrotaan taulun nimi, josta tiedot haetaan. LINQ:ssa kyselyä lähdetään muodostamaan valitsemalla ensin taulu, ja ehdot joiden perusteella tietoa taulusta haetaan. Vasta tämän jälkeen valitaan tarpeelliset sarakkeet. Näin kyselyyn voidaan rajata juuri tarpeellinen ja vain tarpeellinen tulosjoukko, mikä helpottaa ohjelmointityötä huomattavasti. Edellisen kyselyn tulokset ovat suoraan merkkijonoina, jotka saadaan tulostettua esim. foreach -rakenteella: foreach (string name in query) { Console.WriteLine(name); } Tällä samalla tavalla voidaan tehdä kysely niin SQL Server -tietokantaan, DataSet:iin, muistissa oleviin taulukoihin tai moneen muun laiseen dataan. Esimerkiksi Customers voisi olla kokoelma objekteja: Customer[] Customers; Tai esimerkiksi DataTable DataSet:n sisällä: DataSet ds = GetDataSet(); DataTable Customers = ds.tables["customers"]; Customers voisi olla luokka, joka kuvaa fyysisen relaatiotietokannan taulun:

6 5 DataContext db = new DataContext(ConnectionString); Table<Customer> Customers = db.gettable<customer>(); Ja se voi olla käsitteellinen luokka, joka on mapattuna suoraan relaatiotietokantaan: NorthwindModel datamodel = new NorthwindModel(); ObjectQuery<Customer> Customers = datamodel.customers; LINQ mahdollistaa kyselyn tekemisen yhtäaikaa monen tyyppiseen dataan. Voidaan esim. yhdistää muistissa olevien objektien tietoja ja tietokannasta haettavia tietoja keskenään ja kohdistaa yhdistettyyn dataan haluttuja hakuja. Tämä on erittäin joustava tapa käsitellä tietoa, mutta vielä tällähetkellä äärimmäisen tehoton. Joten kaupallista sovellusta ohjelmoitaessa on tarkkaan mietittävä kannattaako mahdollisuutta erityyppisen datan yhdistämiseen hyödyntää. (Launiala 2008.) 4 LINQ:N OSA-ALUEET Kuviossa 1 on kuvattu, LINQ:n eri osa-alueet, joita ovat LINQ to Objects, LINQ to ADO.NET ja LINQ to XML. LINQ to ADO.NET jakautuu vielä kolmeen aliryhmään, joita ovat LINQ to sql, LINQ to DataSet ja LINQ to Entities. KUVIO 1. LINQ.NET Framework 3.5:ssa

7 LINQ to Objects LINQ to Objects käsittää nimensä mukaisesti oliokokoelmien käsittelyn ohjelmakoodissa. Olioiden ei tarvitse olla itse luotuja, kuten seuraavasta ohjelmakoodista voidaan nähdä. Ohjelmakoodissa haetaan kaikki käyttöjärjestelmän Temp -hakemistossa olevat tiedostot, joiden koko on yli tavua ja järjestetään haun tulokset koon mukaan. (Pialorsi & Russo 2007, 15.) string temppath = Path.GetTempPath(); DirectoryInfo dirinfo = new DirectoryInfo(tempPath); var query = from f in dirinfo.getfiles() where f.length > orderby f.length descending select f; 4. 2 LINQ to ADO.NET LINQ to ADO.NET on LINQ:n kiinnostavin osa tietokantojen näkökulmasta. Kuten edellä todettiin, LINQ to ADO.NET jakautuu edelleen kolmeen osaan. LINQ to Sql hallitsee mappauksen ohjelmakoodin ja fyysisen tietokantataulun välillä. LINQ to Entities on hyvin samankaltainen kuin LINQ to Sql. Sen sijaan, että käytettäisiin suoraa fyysistä tietokantaa, LINQ to Entities käyttää abstraktia Entity Data Model:a (EDM). Tuloksena on abstrakti taso, joka erotettu fyysisestä datatasosta. LINQ to DataSet taas on juuri sitä, mistä nimikin kertoo, eli tapa tehdä kysellä tietoja Data- Set:sta LINQ:ta käyttäen. LINQ to ADO.NET:a esitellään vielä myöhemmin lisää. Tässä esimerkki LINQ to DataSet:sta, jossa on yhdistetty kahden DataTable:n sisältö. (Pialorsi & Russo 2007, ) DataSet ds = LoadDataSetUsingDataAdapter(); DataTable orders = ds.tables["orders"]; DataTable orderdetails = ds.tables["orderdetails"]; var query = from o in orders.asenumerable() join od in orderdetails.asenumerable() on o.field<int>( "OrderID" ) equals od.field<int>("orderid") into orderlines where o.field<datetime>( "OrderDate" ).Year >= 1998 orderby o.field<datetime>( "OrderDate" ) descending select new { OrderID = o.field<int>( "OrderID" ), OrderDate = o.field<datetime>( "OrderDate" ), Amount = orderlines.sum( od => od.field<decimal>( "UnitPrice" )

8 7 * od.field<short>( "Quantity" ) ) }; 4.3 LINQ to XML LINQ to XML tarjoaa hieman erilaisen tavan XML -muotoisen datan kanssa työskentelyyn, kuten XML -datasta tehtäviin kyselyihin ja XML-datan muokkaukseen..net kielistä erityisesti Visual Basic 9.0 sopii erinomaisesti XML datan käsittelyyn, koska kieleen on sisällytetty XML:n literaaleja. Tämä ominaisuus tekee hankalasta XMLtiedostojen käsittelystä paljon helpompaan. Esimerkki, jossa XML -dataan tehdään kysely LINQ:lla: (Pialorsi & Russo 2007, 16.) var customersfromxml = from c in xmlcustomers.elements("customer") where (String)c.Attribute("country") == "Italy" orderby (String)c.Element("name") select new { Name = (String)c.Element("name"), City = (String)c.Attribute("city") }; foreach (var customer in customersfromxml) { Console.WriteLine(customer); } 5 OBJECT-RELATIONAL MAPPING (ORM) LINQ ei ole pelkästään kyselykieli vaan täysverinen olio-relaatio -muunnin (object relational mapper). On turhaa käyttää LINQ:ta pelkästään sulautetun SQL:n korvikkeena hyödyntämättä sen ominaisuuksia tietokannan käsittelyssä. (Launiala 2008.) Mikä sitten on olio-relaatio -muunnos? Käytännössä se tarkoittaa olioiden automaattista tallentamista ja lataamista relaatiotietokantaan eli tavanomaisesta tietokannan käsittelystä tulee olioiden ohjelmointia. Olio-relaatio -muuntimia käyttämällä ei ohjelmakoodiin tarvitse enää upottaa SQL -lauseita, koska muunnin kirjoittaa ne itse. Kuviossa 2 nähdään, kuinka tuottavuus tietokantaan pohjautuvien sovellusten teossa

9 8 huononee, jos käytetään normaalia SQL:ää, eikä puhdasta olio-ohjelmointia - tuottavuudessa palataan kahdeksankymmentä luvun tasolle. (Bernstein 1997, ) KUVIO 2. Objekti-relaatio -muuntimen hyöty Kun käytetään olio-relaatiomuunnosta, voidaan ohjelmoida aidosti olio-ohjelmoinnin sääntöjen mukaan, ohjelmakoodin määrää pienenee, koodin ylläpidettävyys kasvaa ja ohjelmointivirheiden, sekä kantaan asti menevän huonon ja väärän datan määrä vähenee. Samoin vältytään kahden ohjelmointikielen käyttämistä samassa sovelluksessa (Kalima 2004). Olio-relaatio -muunnosta kannattaa käyttää sovelluksissa, jotka perustuvat täysin tietokannan käyttöön tämän tapaisia ovat suurin osa liiketoimintaa tukevista ja ohjaavista sovelluksista. Yleensä sovelluksen pystyy tekemään tehokkaasti ORM - tekniikkaa hyödyntäen. Jos tehokkuus osoittautuu pullonkaulaksi, voidaan osa kyselyistä tehdä normaalia SQL -syntaksia käyttäen, esim. tilanteessa, jossa halutaan optimoida käsin tietokantahakuja (Kalima 2004).

10 9 6 LINQ TO SQL LINQ To SQL on Microsoftin tapa toteuttaa olio-relaatio -muunnin. LINQ To SQL tuo tarjoaa kaikki edellisessä luvussa esille tulleet olio-relaatio -muuntimen hyvät puolet. LINQ To SQL:n käyttäminen edellyttää, että käytössä tietokanta on täysin relaatiopohjainen. Tällä hetkellä tukea ei myöskään löydy kuin Microsoft SQL Servereille, joten tämä hieman rajoittaa LINQ To SQL:n käyttöä kaupallisissa sovelluksissa. (Launiala 2008.) 6.1 LINQ To SQL käytännössä - osa 1 Seuraavassa on esimerkkiharjoitus, jolla avulla voi tutustua LINQ To SQL:ään käytännön kautta. Esimerkin runko on englanninkielisenä (Learning by Walkthroughs (LINQ to SQL)) osoitteessa: (viitattu ). 1. Luo koneellesi harjoitusta varten kansio: c:\linqtest. 2. Lataa Northwind -tietokanta osoitteesta: (viitattu ) vaiheessa 1 luomaasi kansioon. Huom. jos koneellasi ei ole SQL Serveriä, lataa ja asenna myös SQL Server Express Edition. Sen löydät Microsoftin Download Centerista: (viitattu ). 2. Käynnistä Microsoft Visual Studio 2008 ja luo uusi VB.net -projekti. Katso mallia kuviosta 3.

11 10 KUVIO 3. Uuden projektin luominen 3. Lisätään tarvittavat viittaukset. Avaa Solution Explorer, paina projektin nimen paella hiiren oikeaa painiketta, ja valitse References ja tämän jälkeen Add Reference. Liitä projektiin System.Data.Linq ja System.Windows.Forms. Katso mallia kuviosta 4. KUVIO 4. Viittausten lisääminen projektiin

12 11 4. Kirjoita ennen moduulin alkua seuraavat rivit (katso mallia kuviosta 5): Imports System.Data.Linq Imports System.Data.Linq.Mapping Imports System.Windows.Forms KUVIO 5. Tarvittavien kirjastojen lisääminen ohjelmaan 5. Lisätään uusi luokka, joka on mapattuna tietokannan Customers -tauluun. Lisää seuraavat rivit Sub Main():n alapuolelle (katso mallia kuviosta 6): <Table(Name:="Customers")> _ Public Class Customer Private _CustomerID As String

13 12 KUVIO 6. Tietokantaan mapatun luokan lisääminen ohjelmaan 6. Lisätään luodun Customer -luokan sisälle viittaukset Customers -taulun sarakkeisiin. Katso mallia kuviosta 7. Private _CustomerID As String <Column(IsPrimaryKey:=True, Storage:="_CustomerID")> _ Public Property CustomerID() As String Get Return Me._CustomerID End Get Set(ByVal value As String) Me._CustomerID = value End Set End Property Private _City As String <Column(Storage:="_City")> _ Public Property City() As String Get Return Me._City End Get Set(ByVal value As String) Me._City = value End Set End Property

14 13 KUVIO 7. Customers -taulun sarakkeiden lisääminen ohjelmakoodiin 7. Lisätään tietokanta -yhteys. Kirjoita seuraavat rivit Sub Main -metodin sisään (katso mallia kuviosta 8): ' Use a connection string. Dim db As New DataContext _ ("c:\linqtest\northwnd.mdf") ' Get a typed table to run queries. Dim Customers As Table(Of Customer) = _ db.gettable(of Customer)()

15 14 KUVIO 8. Tietokanta -yhteyden lisääminen ohjelmaan 8. Tehdään yksinkertainen kysely tietokantaan. Kirjoita seuraavat rivit Sub Main - metodiin Table(Of Customer) -määrityksen alapuolelle (katso mallia kuviosta 9). ' Attach the log to show generated SQL in a console window. db.log = Console.Out ' Query for customers in London. Dim custquery = _ From cust In Customers _ Where cust.city = "London" _ Select cust

16 15 KUVIO 9. Kyselyn lisääminen ohjelmaan 9. Lisätään ohjelmakoodi tietokantakyselyn tulosten esittämiseksi MessageBox:ssa. Kirjoita seuraavat rivit Sub Main -metodin loppuun (katso mallia kuviosta 10): ' Format the message box. Dim msg As String = "", title As String = "London customers:", _ response As MsgBoxResult, style As MsgBoxStyle = _ MsgBoxStyle.Information ' Execute the query. For Each custobj In custquery msg &= String.Format(custObj.CustomerID & vbcrlf) Next ' Display the results. response = MsgBox(msg, style, title)

17 16 KUVIO 10. Tietokantahaun tulostaminen MessageBoxiin 10. Aja ohjelma F5:lla. Kuviossa 11 on haun tulokset. KUVIO 11. Tietokantahaun tulokset 11. Lisätään uusi luokka nimeltä Order. Kirjoita seuraavat rivit ohjelmakoodiin Customer -luokan perään. Huomaa, että ohjelmakoodissa määritellään yhteys Orders - taulun CustomerID -sarakkeen ja Customers -taulun CustomerID:n välille.

18 17 <Table(Name:="Orders")> _ Public Class Order Private _OrderID As Integer Private _CustomerID As String Private _Customers As EntityRef(Of Customer) Public Sub New() Me._Customers = New EntityRef(Of Customer)() End Sub _ <Column(Storage:="_OrderID", DbType:="Int NOT NULL IDENTITY", IsPrimaryKey:=True, IsDBGenerated:=True)> _ Public ReadOnly Property OrderID() As Integer Get Return Me._OrderID End Get End Property ' No need to specify a setter because IsDBGenerated is true. <Column(Storage:="_CustomerID", DbType:="NChar(5)")> _ Public Property CustomerID() As String Get Return Me._CustomerID End Get Set(ByVal value As String) Me._CustomerID = value End Set End Property <Association(Storage:="_Customers", ThisKey:="CustomerID")> _ Public Property Customers() As Customer Get Return Me._Customers.Entity End Get Set(ByVal value As Customer) Me._Customers.Entity = value End Set End Property End Class 12. Kirjoita seuraavat rivit Customer luokkaan merkiksi Customers ja Orders - taulun välisestä yhteydestä (katso mallia kuviosta 12): Private _Orders As EntitySet(Of Order) Public Sub New() Me._Orders = New EntitySet(Of Order)() End Sub <Association(Storage:="_Orders", OtherKey:="CustomerID")> _ Public Property Orders() As EntitySet(Of Order) Get Return Me._Orders End Get Set(ByVal value As EntitySet(Of Order)) Me._Orders.Assign(value) End Set End Property

19 18 KUVIO 12. Yhteyden merkitseminen Customers- ja Orders taulujen välille 13. Kirjoita Sub Main -metodiin kysely, jossa haetaan tietoa Orders taulusta suoraan Customer olion kautta: ' Query for customers who have no orders. Dim custquery = _ From cust In Customers _ Where Not cust.orders.any() _ Select cust Dim msg As String = "", title As String = _ "Customers With No Orders", response As MsgBoxResult, _ style As MsgBoxStyle = MsgBoxStyle.Information For Each custobj In custquery msg &= String.Format(custObj.CustomerID & vbcrlf) Next response = MsgBox(msg, style, title) 14. Aja ohjelma F5:lla. Kuviossa 13 on haun tulokset.

20 19 KUVIO 13. Haun tulokset 15. Lisätään Sub Main metodin perään uusi luokka Northwind joka on peritty DataContext luokasta. Tällätavoin tietokannan taulujen käyttö ohjelmassa on helpompaa ja yksinkertaisempaa. Public Class Northwind Inherits DataContext ' Table(Of T) abstracts database details per ' table/data type. Public Customers As Table(Of Customer) Public Orders As Table(Of Order) Public Sub New(ByVal connection As String) MyBase.New(connection) End Sub End Class 16. Muutetaan Main Sub metodia käyttämään edellä luotua Northwind -luokkaa (katso mallia kuviosta 14): ' Use a connection string. Dim db As New Northwind _ ("C:\Linqtest\northwnd.mdf") ' Query for customers from Seattle. Dim custs = _ From cust In db.customers _ Where cust.city = "Seattle" _ Select cust For Each custobj In custs Console.WriteLine("ID=" & custobj.customerid) Next ' Freeze the console window. Console.ReadLine()

21 20 KUVIO 14. Helpompi tapa tehdä haku tietokannasta. 17. Aja ohjelma F5:lla. Kuviossa 15 on haun tulos. KUVIO 15. Haun tulos

22 LINQ To SQL käytännössä - osa 2 Seuraavassa on kuvattu, kuinka sql -tietokannassa olevaa tietoa voidaan muuttaa. 1. Generoidaan VB.NET tiedosto tietokannan pohjalta SQLMETAL ohjelmaa käyttäen. SQLMETAL -ohjelmasta löytyy tietoa Microsoftin sivuilta: Oletuksena ohjelma löytyy koneelta kansiosta: drive:\program Files\Microsoft SDKs\Windows\vn.nn\bin (katso kuvio 16). KUVIO 16. SQLMETAL -ohjelman sijainti 2. Aja komentokehotteessa seuraava rivi (katso mallia kuviosta 17): sqlmetal /code:"c:\linqtest\northwind.vb" /language:vb "C:\linqtest\northwnd.mdf" /pluralize

23 22 KUVIO 17. SQLMETAL -ohjelman käyttäminen 2. Tee uusi VB.NET -projekti. Katso mallia kuviosta 18. KUVIO 18. Uuden VB.NET -projektin luominen

24 23 3. Lisää viittaus System.Data.Linq projektiin (Solution Explorer > References > Add Reference (katso mallia kuviosta 19). Ja kirjoita ennen Module1:sta seuraavat rivit: Imports System.Data.Linq Imports System.Data.Linq.Mapping KUVIO 19. Tarvittavien kirjastojen tuominen ohjelmaan 3. Liitä SQLMETAL -ohjelmalla generoitu ohjelmakoodi projektiin valitsemalla projektin nimen päällä Add Existing Item ja valitsemalla northwind.vb -tiedosto (katso mallia kuviosta 20).

25 24 KUVIO 20. Generoidun ohjelmakoodin liittäminen projektiin 4. Luodaan tietokantayhteys. Kirjoita seuraavat rivit Sub Main -metodin sisään (katso mallia kuviosta 21): ' Use a connection string, but connect to ' the temporary copy of the database. Dim db As New Northwnd _ ("C:\Linqtest\northwnd.mdf") ' Keep the console window open after activity stops. Console.ReadLine()

26 25 KUVIO 21. Tietokantayhteyden luominen 5. Kirjoita seuraavat rivit Sub Main -metodiin ennen Console.ReadLine() riviä. Ohjakoodi luo uuden rivin Customers -tauluun ja tulostaa taulussa olevat CustomerID:t, jotka sisältävät merkkijonon CA, ennen uuden rivin lisäystä tietokantaan. Katso mallia kuviosta 22. ' Create the new Customer object. Dim newcust As New Customer() newcust.companyname = "AdventureWorks Cafe" newcust.customerid = "A3VCA" ' Add the customer to the Customers table. db.customers.insertonsubmit(newcust) Console.WriteLine("Customers matching CA before insert:") Dim custquery = _ From cust In db.customers _ Where cust.customerid.contains("ca") _ Select cust For Each cust In custquery Console.WriteLine("Customer ID: " & cust.customerid) Next

27 26 KUVIO 22. Ohjelmakoodi, joka lisää uuden rivin Customers -tauluun 6. Aja ohjelma F5:lla. Kuviossa 23 on haun tulos. KUVIO 23. Haun tulos 7. Kirjoita seuraavat rivit, jotka päivittävät ContactName:n Customers -taulussa CustomerID:n perusteella Sub Main -metodiin ennen Console.ReadLine() riviä: Dim existingcust = _ (From cust In db.customers _ Where cust.customerid = "ALFKI" _

28 27 Select cust).first() ' Change the contact name of the customer. existingcust.contactname = "New Contact" 8. Kirjoita seuraavat rivit, jotka poistavat rivin Order Details -taulusta Sub Main - metodiin ennen Console.ReadLine() -riviä: ' Access the first element in the Orders collection. Dim ord0 As Order = existingcust.orders(0) ' Access the first element in the OrderDetails collection. Dim detail0 As OrderDetail = ord0.orderdetails(0) ' Display the order to be deleted. Console.WriteLine _ (vbcrlf & "The Order Detail to be deleted is: OrderID = " _ & detail0.orderid) ' Mark the Order Detail row for deletion from the database. db.orderdetails.deleteonsubmit(detail0) 9. Kirjoita seuraava rivi, joka vie muutokset tietokantaan Sub Main -metodiin ennen Console.ReadLine() -riviä: db.submitchanges() 10. Kirjoita seuraavat rivit Sub Main -metodiin ennen Console.ReadLine() riviä. Näin ohjelma tulostaa tilanteen tietokannassa edellisen lisäyksen, päivityksen ja poiston jälkeen. Console.WriteLine(vbCrLf & "Customers matching CA after update:") Dim finalquery = _ From cust In db.customers _ Where cust.customerid.contains("ca") _ Select cust For Each cust In finalquery Console.WriteLine("Customer ID: " & cust.customerid) Next 11. Aja ohjelma F5:lla. Kuviossa 24 on ohjelman tulostamat tiedot.

29 28 KUVIO 24. Ohjelman tulostamat tiedot. Edellä kuvattujen esimerkkien avulla, pääsee helposti ja turvallisesti tutustumaan LINQ To SQL:n perusteisiin. Näiden jälkeen voi kokeilla konsoliohjelma sijasta pienen Windows -sovelluksen tekoa: (viitattu ). 7 LISÄTIETOJA LINQ:STA Koska LINQ on varsin uusi tekniikka, ei suomenkielistä materiaalia aiheesta juuri löydy. Helpoiten LINQ:n saloihin pääsee tutustumaan -sivuston videoiden avulla (viitattu ). Lisäksi artikkeli antaa hyvän yleiskuvan aiheesta (viitattu ). Jos fokuksena on kaikki mahdollinen LINQ:sta A:sta Ö:hön, niin helposta tiedonjanoon löytyy Microsoftin omilta LINQ - projektin sivuilta: (viitattu ). Scott Guthrie:n blogista löytyy todella hyvää lisätietoa ja vinkkejä. Scottin blobi on muutoinkin loistava ajankohtaisen tiedon lähde: (viitattu ).

30 29 Microsoft Visual Studio 2008:sta ja.net 3.5:sta löytyy ilmainen Training Kit materiaali osoitteesta: DB-6C3C4A0C98A1&displaylang=en (viitattu ). Materiaalista löytyy myös harjoituksia LINQ:sta. On huomioitava, että harjoitukset vaativat toimiakseen mm. SQL Server 2005:n. 8 YHTEENVETO Tämän selvityksen tarkoituksena oli selvittää, mikä LINQ, mistä osista se koostuu ja onko sen käytöstä hyötyä. Lisäksi pyrittiin etsimään käytännön kokemuksia LINQ:n käytöstä oikeissa ohjelmistoprojekteissa ja kokoamaan erilaisia lähteitä, joiden avulla pääsee tutustumaan LINQ:n sielunelämään ja mahdollisuuksiin syvällisemmin. Käytännön kokemuksia LINQ:sta voi kuunnella ProtonIT Oy:n konsultti Kalle Launialan Microsoft Developer Days 2008:ssa pitämästä luennosta (Launiala 2008). Tämä selvitysraportti on pieni pintaraapaisu LINQ:n mahdollisuuksiin, koska LINQ:ta voi hyödyntää monenlaisten tietolähteiden käytössä. Ehkä suurin uudistus verrattuna vanhaan, on objekti-relaatio muunnoksen mahdollisuus LINQ To SQL:ää käyttäen, mistä johtuen selvitysraporttiin sisällytettyjen harjoitusten kohteeksi valittiin juuri LINQ To SQL. Kaikki linkit LINQ:sta kertoviin lisämateriaaleihin pyrittiin valitsemaan mahdollisimman hyvin itseopiskeluun sopiviksi. Ongelmana selvitysraportin teossa oli suomenkielisen materiaalin puute. Koska materiaalia ei juuri suomeksi löytynyt, oli englanninkielisten termien kääntäminen suomeksi varsin haasteellista. Työ kuitenkin osoitti, että LINQ:ssa ja etenkin LINQ To SQL:ssä on potentiaalia. Ohjelmointityössä on ollut vuosikausia pyrkimyksenä päästä entistä suurempaan tuottavuuteen vähentämällä tarvittavan ohjelmakoodin määrää ja keskittämällä sitä niin, ettei yhden asian korjaus aiheuta muutoksia moneen paikkaan. LINQ To SQL pyrkii osaltaan nostamaan tätä tehokkuutta ja vähentämään tietokantakyselyissä tapahtuvia virheitä. Seuraava askel otetaan, kun LINQ To SQL:ää voidaan käyttää muidenkin

31 30 kuin Microsoft SQL Server -tietokantojen kanssa. Valtava määrä ohjelmistoyrityksiä ympäri maailmaa, kehittää ohjelmistoja Windows alustalle, joten LINQ ei varmasti tule katoamaan minnekään nyt ollaan vasta kehityksen alkumetreillä.

32 31 LÄHTEET Bernstein, L Software Investment Strategy. Bell Labs Technical Journal, Summer 1997, Kalima, L SQL Server 2005 Sovelluskehitysseminaari. Viitattu Launiala, K Linq to SQL käytännössä. Viitattu Developer Days 2008 esitykset Codezonessa, LINQ to SQL käytännössä: käyttöönotto, sovellusrakenne ja työkalut. Pialorsi P. & Russo M Introducing Microsoft Linq. Redmond: Microsoft Press.

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

Lisätiedot

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) HAAGA-HELIA ICT1TA006: Ohjelmointi 1 /5 Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) (Lähteet: Oracle java jdbc Tutorial, Arvo Lipitsäinen: Tietokannan käsittely JDBC:n

Lisätiedot

TIETOKANNAT JOHDANTO

TIETOKANNAT JOHDANTO TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2011 Tieto TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

SQL - STRUCTURED QUERY LANGUAGE

SQL - STRUCTURED QUERY LANGUAGE SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

SQL Buddy JAMK Labranet Wiki

SQL Buddy JAMK Labranet Wiki Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.

Lisätiedot

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

zotero www.zotero.org

zotero www.zotero.org zotero www.zotero.org Viitteidenhallintajärjestelmä Zotero toimii Firefox-selaimessa. Muita ilmaisia viitteidenhallintajärjestelmiä ovat esimerkiksi EndNote ja Mendeley. Näissä ohjeissa on kuvataan Zoteron

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin käyttöohjeet» Ruutukentän luominen Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

Power BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto

Power BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto Tech Conference 28.-29.5.2015 Power BI Pekka.Korhonen@sovelto.fi #TechConfFI Johdanto 2 1 Microsoft BI komponentit Azure Machine Learning Stream Analytics HDInsight DocumentDB Blob/table storage VM SQL

Lisätiedot

Web järjestelmän ohjelmointi Kevät 2012 Hans Nieminen

Web järjestelmän ohjelmointi Kevät 2012 Hans Nieminen Harjoitus 1 Käsiteltävät aiheet: C# kielen kertaus luokat, oliot ja periytyminen poikkeukset ja niiden käsittely tapahtumat ja niiden käsittely C# 3.0 uudet ominaisuudet Visual Studio projektin kansiot

Lisätiedot

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Navistools Standard. Navistools

Navistools Standard. Navistools Navistools Standard Navistools on Naviswork pohjainen Asset management sovellus, jota käytetään laitoksen, infrakohteen tai rakennuksen elinkaarenaikasen tiedonhallintaan, suunnittelusta työmaavaiheen

Lisätiedot

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

Lisätiedot

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Pedacode Pikaopas. Tietokantaa hyödyntävän sovelluksen luominen

Pedacode Pikaopas. Tietokantaa hyödyntävän sovelluksen luominen Pedacode Pikaopas Tietokantaa hyödyntävän sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, Netbeans-työkalulla luodaan uusi yksinkertainen Java DB -tietokantaa hyödyntävä sovellus. Opas kattaa

Lisätiedot

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari Microsoft SQL Server -tietokannan hallinta Jouni Huotari 13.2.2008 Tavoite Saada käsitys SQL Serverin (v. 2005) ominaisuuksista + eri vaihtoehtojen hyvistä ja mahdollisista huonoista puolista Oppia luomaan

Lisätiedot

SQL Server 2008 asennus

SQL Server 2008 asennus SQL Server 2008 asennus 1. Yleistä... 3 2. Edellytykset... 3 3. SQL Server 2008 Express asennus... 4 4. Yhteystiedot... 6 2/6 1. YLEISTÄ Tässä ohjeessa käydään vaiheittain Microsoft SQL Server 2008 tietokantaohjelmiston

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

Tilastokeskuksen rajapintapalveluiden käyttöönotto QGISohjelmistossa

Tilastokeskuksen rajapintapalveluiden käyttöönotto QGISohjelmistossa 1(13) Tilastokeskuksen rajapintapalveluiden käyttöönotto QGISohjelmistossa (QuantumGIS) Ohjeita laatiessa on käytetty QuantumGIS:n versiota 2.0.1. Ruudunkaappauskuvat ovat englanninkielisestä versiosta,

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

RDBMS - Yhteyskäytännöt

RDBMS - Yhteyskäytännöt HAAGA-HELIA Heti-09 1 (11) RDBMS - Yhteyskäytännöt Johdanto... 2 Upotettu SQL... 3 ESQL esimerkki... 4 ODBC... 5 Visual Basic ja ADO... 6 JAVA ja JDBC... 7 JDBC esimerkki... 8 Oracle ja JDBC... 9 Connection

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,

Lisätiedot

Autodesk Account -ohje

Autodesk Account -ohje Autodesk Account -ohje Tuotteiden lataaminen ja sarjanumeron löytäminen Avaa selaimeen sivu manage.autodesk.com ja kirjaudu Autodesk ID tunnuksillasi. Jotkin kohdat ovat erinäköisiä riippuen käyttäjäroolista.

Lisätiedot

PIC-koodin luominen URF-tietokantaan Participant Portal

PIC-koodin luominen URF-tietokantaan Participant Portal PIC-koodin luominen URF-tietokantaan Participant Portal ECAS-tunnuksen hankkiminen Participant Portal osoite: http://ec.europa.eu/education/participants/portal/ Uudet käyttäjät, joilla ei vielä ole ECAS-tunnuksia:

Lisätiedot

Coolselector Asennusohje

Coolselector Asennusohje MAKING MODERN LIVING POSSIBLE Coolselector Asennusohje Täydellinen valinta on vain muutaman klikkauksen päässä www.danfoss.fi/kylma Yleiset vaatimukset Windows XP asennus Windows 7 asennus Asennuksen poisto

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Olli Opiskelija (123), olli.opiskelija@foo.fi Maija Mallioppilas (321), maija.mallioppilas@foo.fi 13.3. 2007 1 Sisältö 1 Tietokannan kuvaus 3 1.1 Tietokannan rakenne..................................

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

Pikaohje formaatin valmistamiseen

Pikaohje formaatin valmistamiseen Pikaohje formaatin valmistamiseen Esko Otava Oy ver.1.0 Pääikkunasta (tulostusikkunasta) valitaan Cards-Show cards manager Paina Add 2 Paina New Kortinsuunnitteluikkuna on jaettu kolmeen osaan: Vasemmalla

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 on integroitu kehitysympäristö (Integrated Development Environment) eli (IDE). Kehitysympäristöön kuuluvat seuraavat keskeiset sovelluskehitysvälineet: Ohjelmointikielet C#.NET

Lisätiedot

Mobility Tool. Demo 21.8.2013 CIMO

Mobility Tool. Demo 21.8.2013 CIMO Mobility Tool Demo 21.8.2013 CIMO 1 Sisältö Korkeakoulukäyttäjä (Beneficiary User) Home Project details Partners Mobilities Working with CSV Import Mobilities Budget 2 Home Find your project Project menu

Lisätiedot

GALERIE EXHIBITIONS (13) 1 2 EXHIBITIONS 2

GALERIE EXHIBITIONS (13) 1 2 EXHIBITIONS 2 GALERIE EXHIBITIONS (13) 1 1 Table of Contents 2 EXHIBITIONS 2 2.1 YLEISTÄ 2 2.2 REGISTER EXHIBITION 3 2.3 UPDATE EXHIBITION 4 2.3.1 BASICS 5 2.3.2 ARTICLE 6 2.3.3 PUBLISH 6 2.3.4 REVIEW 7 2.4 REGISTER

Lisätiedot

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Visma Nova. Visma Nova ASP käyttö ja ohjeet Visma Nova Visma Nova ASP käyttö ja ohjeet Oppaan päiväys: 2.2.2012. Helpdesk: http://www.visma.fi/asiakassivut/helpdesk/ Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 DDL... 5 Tietokantaobjektien määrittely... 5 SQL:n tietotyypit... 6 Eheyssääntöjen määrittely... 9 Indeksin määrittely... 11 Syntaksikuvaukset...

Lisätiedot

ASP.NET Data Binding. Harjoitukset C# ja VB

ASP.NET Data Binding. Harjoitukset C# ja VB ASP.NET Data Binding ASP.NET Data Binding 2 (34) Sisällys Harjoitus 1: Kannan luonti...3 Harjoitus 2: Tietokantahaku ja tiedon editointi...5 Harjoitus 3: Henkilöiden lajittelu maittain...6 Harjoitus 4:

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

RATKI 1.0 Käyttäjän ohje

RATKI 1.0 Käyttäjän ohje RATKI RATKI 1.0 Käyttäjän ohje Ohje 0.5 Luottamuksellinen Vastuuhenkilö Petri Ahola Sisällysluettelo 1. Yleistä... 3 1.1. Kuvaus... 3 1.2. Esitiedot... 3 1.3. RATKIn käyttöoikeuksien hankinta... 3 1.4.

Lisätiedot

HAME PostGIS-tietokanta

HAME PostGIS-tietokanta HAME PostGIS-tietokanta Harmonisoidut maakuntakaavat e-palveluiksi (HAME) VSL 10.12.2019 HAME-hankkeelle maakuntakaavoja varten rakennettu PostGIS-serveri sijaitsee Lounaistiedon AWS (Amazon Web Service)

Lisätiedot

Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa

Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa 1(6) Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa Ohjeita laatiessa on käytetty ArcGIS:n versiota 10.1. Koordinaattijärjestelmä ArcGIS käyttää oletuskoordinaattijärjestelmänä

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

C# ja.net Framework. ADO.NET ja ASP.NET peruskäyttö

C# ja.net Framework. ADO.NET ja ASP.NET peruskäyttö C# ja.net Framework Sisällys Harjoitus 1: Visual Studio ja SQL Express...3 Harjoitus 2: Connection- ja Command- luokat, komennon välittäminen tietokantaan...6 Harjoitus 3: Konfigurointitiedoston käsittely...9

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta

Lisätiedot

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX SQL - perusteet SQL - yleistä Esa Salmikangas InMics SE Oy versio 16.6.2003 SQL - perusteet 1 SQL - perusteet 2 SQL Structured Query Language SQL on tietokantojen käsittelyyn kehitetty kieli yleisimmät

Lisätiedot

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki HELIA TIKO-05 1 (17) SQL / DML 4 Alikyselyt...2 Joukko-operaatiot...7 Yhdiste, unioni...8 Leikkaus...9 Erotus... 10 Tietokannan datan muokkaus... 11 Lisäys... 11 Yhden rivin lisääminen... 12 Useamman rivin

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 29.3.2016 CSE-A1200 Tietokannat 29.3.2016 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

Lisätiedot

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi!

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi! Harjoitustyö CSE-A1200 Tietokannat Jasse Lahdenperä 345396 killedwhale@kapsi.fi Henri Nurmi 345545 henri.nurmi@kapsi.fi 1 Ensimmäisen vaiheen ratkaisu ER-Kaavio 2 Relaatiomalli: Loanable(Id, MaximumLoanTime)

Lisätiedot

6 XML-työkalut 1. 6 XML-työkalut

6 XML-työkalut 1. 6 XML-työkalut 6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on

Lisätiedot

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

Johdatus ohjelmointiin

Johdatus ohjelmointiin Johdatus ohjelmointiin EXAM tentin liitetiedostojen lataaminen, käyttäminen ja palauttaminen Kerro mahdolliset puutteet tai parannusehdotukset: pietari.heino@tut.fi Tällä sivulla on selitetty lyhyesti

Lisätiedot

EDMODO. -oppimisympäristö opettajille ja oppilaille KOONNUT: MIKA KURVINEN KANNUKSEN LUKIO

EDMODO. -oppimisympäristö opettajille ja oppilaille KOONNUT: MIKA KURVINEN KANNUKSEN LUKIO EDMODO -oppimisympäristö opettajille ja oppilaille KOONNUT: MIKA KURVINEN KANNUKSEN LUKIO HUOM! Edmodo kehittyy koko ajan, seuraavat ohjeet voivat olla jo päivityksen tarpeessa. 1 Sisällysluettelo Rekisteröityminen

Lisätiedot

Visma Liikkuvan työn ratkaisut

Visma Liikkuvan työn ratkaisut Visma Liikkuvan työn ratkaisut Päivitysohje Pääkäyttäjän opas Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta.

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)] Tällä viikolla Kertaus SQL-asioista jatketaan SQL-tekstifuntio-harjoituksia tehdään pelifirman tietokannasta ER-malli MySQL:llä, tarkastellaan mallin toimivuutta ja korjataan, jos korjattavaa löytyy, tehdään

Lisätiedot

Java ja tietokannan käsittely (JDBC)

Java ja tietokannan käsittely (JDBC) Java ja tietokannan käsittely (JDBC) Javan tietokannan käsittely luokat (java.sql.*) Yhteys tietokantaan Tietokannan yhteyden sulkeminen Tiedon haku tietokannasta Tiedon päivitys tietokantaan Transaktio

Lisätiedot

erasmartcardkortinlukijaohjelmiston

erasmartcardkortinlukijaohjelmiston erasmartcardkortinlukijaohjelmiston asennusohje Sisällysluettelo 1. erasmartcard... 2 2. erasmartcard-ohjelmiston normaali asennus... 3 2.1. Ennen asennusta... 3 2.2. Asennus... 3 3. Muut asennustavat...

Lisätiedot

Uutta Remote Support Platform 3.1 -versiossa

Uutta Remote Support Platform 3.1 -versiossa What's New Asiakirjaversio: 1.0 2014-05-09 Asiakirjaversiot Seuraavassa taulukossa esitellään asiakirjan tärkeimmät muutokset. Versio Pvm Kuvaus 1.0 2014-05-09 Ensimmäinen versio 2 All rights reserved.

Lisätiedot

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5

Lisätiedot

Testivetoinen ohjelmistokehitys

Testivetoinen ohjelmistokehitys Testivetoinen ohjelmistokehitys Ohjelman luominen pienin askelin 1. Kirjoita testi, joka testaa ohjelmalle myöhemmin lisättävää toiminnallisuutta. 2. Suorita testi. Testin ei tule mennä läpi. Mikäli testi

Lisätiedot

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas Visma Liikkuvan työn ratkaisut Pääkäyttäjän opas Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan

Lisätiedot

Lohdutus - tietokantadokumentti

Lohdutus - tietokantadokumentti Lohdutus - tietokantadokumentti Ohjelmiston tietokanta on toteutettu Oracle-ympäristöön, ja sitä käytetään ohjelmassa Hibernaten kautta. Tietokannan rakenne Tietokannan taulujen merkitykset Taulu Project

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

http://www.microsoft.com/expression/

http://www.microsoft.com/expression/ Verkkojulkaisuharjoitus1 TAVOITE Harjoituksen tarkoituksena on opiskella käyttämään verkkojulkaisueditoria (Microsoft Expression Web) ja käynnistämään verkkosivu internetissä. VERKKOSIVUEDITORIN KÄYTTÖOHJEITA

Lisätiedot

C# ja.net. Juha Järvensivu 2007

C# ja.net. Juha Järvensivu 2007 C# ja.net Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö C#.NET-kirjastot C# - C-sharp Standardoitu kieli (2003) Kieli, jossa pyritään yhdistämään C++:n tehokkuus ja Javan helppokäyttöisyys Suunniteltu.NET-ohjelmointiin

Lisätiedot

Hälyri-tietojärjestelmä, Palvelinohjelmiston version 1.0.0 asennusohje

Hälyri-tietojärjestelmä, Palvelinohjelmiston version 1.0.0 asennusohje Hälyri-tietojärjestelmä, Palvelinohjelmiston version 1.0.0 asennusohje Ohjeen versio: 1.0.0 Laadittu: 27.5.2014 Laatinut: Veli-Mikko Puupponen 1. Johdanto Hälyri-tietojärjestelmä on prototyyppi uudenlaisesta

Lisätiedot

Delegaatit ja tapahtumakäsittelijät

Delegaatit ja tapahtumakäsittelijät 14 Delegaatit ja tapahtumakäsittelijät Toinen käyttökelpoinen keksintö C#-kielessä ovat delegaatit. Periaatteessa ne palvelevat samaa tarkoitusta kuin C++:n funktio-osoittimet. Delegaatit ovat kuitenkin

Lisätiedot