Databaser. Introduksjon til Databaser Resten av foilene fra kap 10.1 som vi går gjennom på neste forelesning.

Slides:



Advertisements
Liknende presentasjoner
Everyone Print Kalle Snarheim.
Advertisements

Jara NetBusiness Vedlikeholdsrelease , 11. februar 2008.
TIF seminar -Visual Basic (VBA) og RExcel Elisabeth Orskaug Norsk Regnesentral Oslo, 8. november 2011.
Organization and board
Régis Laurent Director of Operations, Global Knowledge Competencies include: Gold Learning Silver System Management Touch, flip and fold Håvard Haukeberg.
Gruppemedlemmer Gruppa består av: Magnus Strand Nekstad – s156159
NUUG.topic = Ruby.new Johannes Brodwall Takk til Dave Thomas for bruk av enkelte slides.
Ledelsesinformasjonsystem
Slide 2:. Forretningsmodellen forklart på engelsk og norsk
Mobile Phone authorised Services through Near Field Communications Hans-Christian Haugli, Elin Melby, Josef Noll.
Key takes from the CXPA breakfast meeting 19th of march 2013 Summarized by KOBRA – Full text from Post It notes available in notes 1.
Tabeller – Arrays Lage frekvenstabell Norske Bokstaver
Mer sortering Mer Debugging Introduksjon til strukturer.
Eksempel: Administrasjon av biler. Eksempel •Program for å administrere informasjon om biler •Vi ser på tre deler: –Registrere biler: legge inn i tabell.
ADA 95 – del6 Foreleser: Olaf Hallan Graven Bok: Programming in ADA95 (2nd) John Barnes.
Gitte Holten Ingerslev - DPU Tekst Forskerens og didaktikerens blik på mødet mellem tekst og læser.
Effektiv Visualisering av kvantitativ Informasjon Med Microsoft Reporting Services.
Designing the User Interface (Antall brukere == Antall meninger)
Making a Home Page. Why a Web Page? Easier to submit labs electronically (lack of color printers at university); Easier to submit labs electronically.
Hjelp, vi har algdat! En liten kickstart på TDT4120 Algoritmer og datastrukturer Åsmund Eldhuset.
Om Øvelse 7 Stoff relatert til øvelse 7 Generering av tilfeldige tall Bruk ting vi har lært før.
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Utvider eksemplet om biler fra forrige gang med mer feilsjekk Tid og Dato.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
Prosjekt 45e - WebConcret
Jæger: Robuste og sikre systemer INF150 Programmering mandag 4.9 Forrige gang til og med: 3.2 Visual Basic Events (60-73) Nå: Litt om Group Box, CheckBox.
Sortering og søk. Sortering av data som ligger på en fil Prisipielt to hovedmåter gjøre dette på: 1.Arbeide mot filen 1.Lese en linje, og lese de resterende.
INF150 Programmering mandag 11.9
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 31.8 Kapittel 3: Grunnlag for programmering i Visual Basic.
Konseptuell modell Hvordan skal dette se ut ifra brukeren?
1 Information search for the research protocol in IIC/IID Medical Library, 2013.
ADA 95 – del3 Foreleser: Olaf Hallan Graven Bok: Programming in ADA95 (2nd) John Barnes.
Triggere Mutasjoner i basen. Triggers Triggers are stored procedures that execute automatically when something (event) happens in the database: : data.
Instead-of-trigger Faglig forum. Instead-of-trigger Problem: En har et VIEW som består av mange JOINs. Komplekst å oppdatere alle tabellene som inngår.
Web Accessibility Initative (WAI) Flere akronymer.
Forskningsetikk og premiering av deltakere i forskning: Hva sier NESHs retningslinjer og hvilke forskningsetiske spørsmål reises? Bergen, 27, februar 2009.
Citation and reference tools for your master thesis
Linq To SQL Fagdag 20. November DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.
02 - Java datatyper Grundlæggende om datatyper og variable.
C O M M E N T O R A / S Commentor A/S – Hørkær 24 – 2730 Herlev - Tel : (+45) Fax : (+45) Team System VSS user guide to TFVC.
1 | 2010 Internetteknologi 2 (ITNET2) Kort teknisk ASP.NET introduktion Mandag den 4/ Jesper Tørresø.
Publisering i åpne kanaler Anne Storset Institutt for mattrygghet og Infeksjonsbiologi.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
GPS simulator Et C# program som sender data fra en GPS fil til RS232 og simulerer en GPS engine. Tre linjer pr. sekund er satt opp.
Problem set 2 By Thomas and Lars PS: Choose the environment, choose many pages per sheet. Problem set 2 Exercise 11/29 Laget av: Thomas Aanensen og Lars.
Planning and controlling a project Content: Results from Reflection for action The project settings and objectives Project Management Project Planning.
OpenEdge og.NET Jan Kolstad PUG Norway Lillehammer 2004.
Modellering og diagrammer Jesper Tørresø DAB1 E september 2007.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 25.9 MER OM: Sub-prosedyrer og sub-funksjoner Kap 4.
Finne feil - Debugging Introduksjon til sortering.
The Thompson Schools Improvement Project Process Improvement Training Slides (Current State Slides Only) October 2009.
Primary French Presentation 10 Colours L.I. C’est de quelle couleur?
Oversikt Access Hva en bør beherske så langt. Tabeller Felt Typer (heltall, desimaltall, tekst, Boolean) Primary Key.
Boregnskapet og rammebetingelsene for revisjon i konkursbo
Jara NetBusiness Ny release 11. mai 2015.
The Norwegian Hydrografic Pilot
Dette er et eksempel på plassering av logoene.
Using nursery rhymes and songs
Vaccine Delivery in Developing Countries
Figure 1: A very wide figure that spans two columns
LO2 – Understand Computer Software
Behind the scene Anders Hattestad ,
Database.
EPiServer Connect for CRM
Chapter 9 Designing Databases
Developing an Educational Web Application for Student Training in Geographical Information Systems (GIS) Derek Morris Jr. , Edsel Norwood , Disaiah Bennett.
Nottingham City Diabetes Service PLT Tuesday March 2017
Utskrift av presentasjonen:

Databaser

Introduksjon til Databaser Resten av foilene fra kap 10.1 som vi går gjennom på neste forelesning

Chapter 10 – Database Management 10.1 An Introduction to Databases

Database Explorer Accessing a Database with a Data Table

Sample Table – Cities Table

Sample Table – Countries Table

Database Terminology A table is a rectangular array of data. Each column of the table, called a field, contains the same type of information. Each row, called a record, contains all the information about one entry in the database.

Database Management Software (DBMS) Used to create databases Databases can contain one or more related tables Examples of DBMS include Access and Oracle

Se databasen fra Visual Basic Database Explorer The Standard and Professional editions of Visual Basic contain Server Explorer that also allows the programmer to view information located on other computers. We will focus on Database Explorer. However, with slight modifications, our discussion applies to Server Explorer.

Using the Database Explorer side Click on Database Explorer from the View Menu. The Explorer will appear on the left side of the screen. 2.Right-click on “Data Connections”, and select “Add Connection”. 3.Set the Data Source to “Microsoft Access Database File.” 4.Click on the “Browse …” button and select the file MEGACITIES.MDB from the folder Programs\Ch10\MajorDatabases, and press Open. 5.Clear the contents of the “User name” text box.

Database Explorer continued 6.Press the Test Connection button. The message box stating “Test Connection Succeeded” will appear. Press the OK button on that message box, and then press the OK button on the Data Link Properties box. 7.An icon should appear in Database Explorer. Click on the + sign to the left of the icon to expand this entry. four subentries will appear: Tables, Views, and Stored Procedures, and Functions. 8.Expand the Tables entry to reveal the subentries, the tables Cities and Countries. 9.Expand an entry to reveal the fields of the table. (See next slide: Figure 10.1) 10.Double-click on a table to show the table in a grid. (See slide two pages ahead: Figure 10.2)

Figure 10.1 – Database Explorer

Figure 10.2 – The Cities Table

Vi lager et VB program som henter data fra en database Bruker et DataTable object i VB DataTable object er en tabell –Vi har sett på tabeller med en kolonne og mange rekker F.eks.: Dim biler() As Bil BMW, 325, 1999 VW, Caravele, 1997 Toyoa, Landcruiser, 2000

... henter data fra en database Tabeller ha: mange kolonner og mange rekker (todimensjonale) en egen tabell med todimensjonale tabeller! (tredimensjonale) osv. i prinsippet i det uendelige! I INF150 ser programmerer skal vi beherske endimensjonale og kjenne til todimensjonale Tabeller med flere enn to dimensjoner benyttes sjelden

Todimensjonale tabeller (7.5 Two-dimensional Arrays p.377) Hittil har vi sett på endimensjonale tabeller hvor hvert felt kan inneholde: –Enkle verdier –Strukturer –Alle felt må være av samme type Nå ser vi på todimensjonale tabeller –Også her må alle felt må være av samme type –F.eks. Bilannonse Merke, Modell, Arsmodell, AnnonseSattInn, AntVisninger

Eksempel på todimmensjonal tabell Bilannonse MerkeModellArsmodellAnnonse SattInn AntVisning er BMW VWCaravelle ToyotaLandcruiser Oppgave: Indiker hva som er et “Field” og en “Record”

Todimensjonal tabell i Visual Basic ’Deklarerer tabell med 10 rekker og 5 kolonner: Dim bilannonse(9, 4) As String ‘ Legger inn verdier i kolonnene i rekke 0: bilannonse(0,0) = “BMW” bilannonse(0,1) = “325” bilannonse(0,2) = “1999” bilannonse(0,3) = “ ” bilannonse(0,4) = “9” ‘ Legger inn verdier i kolonnene i rekke 1: bilannonse(1,0) = “VW” ‘.... MsgBox(bilannonse.Length)

Alle feltene var av type String Det er vanlig at databaser lagrer alle data som String Vi kan gi tilleggsopplysninger til databasen om hvilken type teksten representerer slik at de som leser databasen kan omforme til rett type

Vi legger tabellen inn i Microsoft Access og leser den inn i et VB program Start Access... –Opprett BILANNONSER.MDB –Lag annonser-tabell –Legg inn de tre annonsene Start Visual Basic –Åpne for tilgang til DataObject...

“Data Table Object” Et “DataTable object” er et ferdig Visual Basic objekt som inneholder en kopi av innholdet i en databasetabell. En DataTable ligner en vanlig todimensjonal tabell i VB med kolonner og rekker.

Åpne for tilgang til DataObject VB har mange ferdige objekter og kontroller. –Koden til alle er svært omfattende, så det er bare de vanligste som er tatt med som standard. –Vi må derfor gi beskjed dersom vi vil benytte det som ikke er standard, så som DataObject Gi beskjed om å ta med koden til DataObject (se de neste slides)

I VB-editoren: Ta med koden til DataObject, denne finnes i System.Data.dll and System.Xml.dll (se side 521:) a) Click on Project in the Menu bar. b) Click on Add Reference in the drop-down menu. To invoke the “Add Reference” dialog box. c) Make sure the.NET tab is selected. d) Click on System.Data. Hold down the Ctrl key and click on System.Xml. e) Press the OK button.

I koden vår I kodevinduet, helt på toppen: Imports System.Data Public Class Form1... End Class

Connecting with a DataTable side 521 Dim dt As New DataTable() Dim connStr As String = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=MEGACITIES.MDB" Dim sqlStr As String = "SELECT * FROM Cities" Dim dataAdapter As New _ OleDb.OleDbDataAdapter(sqlStr, connStr) dataAdapter.Fill(dt) dataAdapter.Dispose()

Linje 1 forrige side Dim dt As New DataTable() Deklarerer dt som en variable av type DataTable

Linje 2 Dim connStr As String = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=MEGACITIES.MDB" Angir Databasedriveren Filespec til databasefilen –forutsetter at filen ligger i bin/debug katalogen

Linje 3 Dim sqlStr As String = "SELECT * FROM Cities" Sier hvilken tabell data skal hentes fra SQL: Standard Query Language

Linje 4 Dim dataAdapter As New _ OleDb.OleDbDataAdapter(sqlStr, connStr) DB er på disken mens DataTable er i minnet –Adapter inneholder kode som omformer vår forespørsel gitt i sqlstr til kode tilpasset databasen gitt i connStr

Linje 5 og 6 dataAdapter.Fill(dt) dataAdapter.Dispose() Bruker DataAdapter til å hente data fra DB til tabellen i dt Dispose() kalles når vi ikke har bruk for tilkoblingen mer.

Kode for å hente fra DB Imports System.Data Public Class Form1 Dim dt As New DataTable Private Sub btnTest_Click(...) Handles btnTest.Click Dim connStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=BILANNONSER.MDB" Dim sqlStr As String = "SELECT * FROM Annonser" Dim dataAdapter As New OleDb.OleDbDataAdapter(sqlStr, connStr) dataAdapter.Fill(dt) dataAdapter.Dispose() ’... se neste side

Kode for å hente fra DB lstVis.Items.Add(”Ant. rekker: ” & dt.Rows.Count) lstVis.Items.Add(”Ant. kolonner: ” & dt.Columns.Count) lstVis.Items.Add(”Rekke 0 kolonne 0: ” & dt.Rows(0)(0)) lstVis.Items.Add(”Rekke 0 kolonne modell: ” dt.Rows(0)("modell")) End Sub

Dim fmtStr As String = "{0,-15}{1,-15}{2,-5}{3,11}{4,5}” For i As Integer = 0 To dt.Rows.Count - 1 lstVis.Items.Add(String.Format(fmtStr, dt.Rows(i)(0), dt.Rows(i)(1),_ dt.Rows(i)(2), dt.Rows(i)(3), dt.Rows(i)(4))) Next Utskrift til listbox formateres:

'Tabell med 3 rekker og 5 kolonner: Dim bilannonse(2, 4) As String ’Kopierer fra DataTable, dt: bilannonse(0, 0) = dt.Rows(0)(0) ’... Kode for å hente fra DataObject til vår egen todimenjonale tabell

Properties of the DataTable side 522 After the six lines of code are executed, the number of records in the table is given by dt.Rows.Count The number of columns in the table is given by dt.Columns.Count The records are numbered 0 through dt.Rows.Count – 1 The fields are numbered 0 through dt.Columns.Count – 1

... The name of the jth field is given by dt.Columns(j) The entry in the jth field of the ith record is dt.Rows(i)(j) The entry in the specified field of the ith record is dt.Rows(i)(fieldName)

Example 1: Form Display one record at a time from the Cities table.

Example 1: Partial Code Dim dt As New DataTable() Dim rowIndex As Integer = 0 Private Sub frmCities_Load(...) Handles _ MyBase.Load (Last five statements of boilerplate) UpdateTextBoxes() End Sub Sub UpdateTextBoxes() 'Display contents of row specified by rowIndex variable txtCity.Text = CStr(dt.Rows(rowIndex)("city")) txtCountry.Text = CStr(dt.Rows(rowIndex)("country")) txtPop2005.Text = CStr(dt.Rows(rowIndex)("pop2005")) txtPop2015.Text = CStr(dt.Rows(rowIndex)("pop2015")) End Sub

Example 1: Partial Code cont. Private Sub btnNext_Click(...) Handles btnNext.Click 'Show the next record if current one is not the last If (rowIndex < dt.Rows.Count - 1) Then rowIndex += 1 'Increase rowIndex by 1 UpdateTextBoxes() End If End Sub Private Sub btnPrevious_Click(...) Handles _ btnPrevious.Click 'Show previous record if current one is not the first If (rowIndex > 0) Then rowIndex = rowIndex - 1 UpdateTextBoxes() End If End Sub

Example 1: Partial Code cont. Private Sub btnFind_Click(...) Handles btnFind.Click Dim cityName As String Dim cityFound As Boolean = False cityName =InputBox("Enter name of city to search for.") For i As Integer = 0 To (dt.Rows.Count - 1) If CStr(dt.Rows(i)("city")) = cityName Then cityFound = True rowIndex = i UpdateTextBoxes() End If Next If (Not cityFound) Then MsgBox("Cannot find requested city",0,"Not in Table") End If End Sub

Example 1: Output

Example 2: Form Display Cities table along with percentage growth.

Example 2: Code Private Sub btnShow_Click(...) Handles btnShow.Click Dim fmtStr As String= "{0,-15}{1,-10}{2,7:N1}{3,7:N1}{4,7:P0}" Dim percentIncrease As Double (Six statements of boilerplate) lstDisplay.Items.Add(String.Format(fmtStr, "CITY", _ "COUNTRY", "2005", "2015", "INCR.")) For i As Integer = 0 To dt.Rows.Count - 1 percentIncrease = (CDbl(dt.Rows(i)("pop2015")) - _ CDbl(dt.Rows(i)("pop2005"))) / CDbl(dt.Rows(i)("pop2005")) lstDisplay.Items.Add(String.Format(fmtStr, dt.Rows(i)(0), _ dt.Rows(i)(1),dt.Rows(i)(2),dt.Rows(i)(3),percentIncrease)) Next End Sub

Example 2: Output

Bound Controls A data table that is bound to a list box can transfer information automatically into the list box. The following statement binds a list box to a data table: lstBox.DataSource = dt The contents of a specified field can be displayed in the list box by: lstBox.DisplayMember = "country"

I vårt eksempel lstVis.DataSource = dt lstVis.DisplayMember = "merke"

Example 3: Form Display the list of countries. When the user clicks on a country, its monetary unit should be displayed.

Example 3: Code Dim dt As New DataTable() Private Sub frmCountries_Load(...) Handles MyBase.Load (Last five statements of boilerplate) lstCountries.DataSource = dt 'Bind list box lstCountries.DisplayMember = "country" End Sub Private Sub lstCountries_SelectedIndexChanged(...) _ Handles lstCountries.SelectedIndexChanged txtMonetaryUnit.Text = _ CStr(dt.Rows(lstCountries.SelectedIndex)("monetaryUnit") End Sub

Example 3: Output