Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License CliMate: Laboration 3 – dataselektion Human Centered Systems Inst. för datavetenskap Linköpings.

Slides:



Advertisements
Liknande presentationer
Butiksdata.
Advertisements

Tomas Sandström, Adtollo
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Databaser & databasdesign
Repetition av språket Java
Inmatning till databaser
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
2I1070 Lektion 2 KTH-MI Peter Mozelius Servlets och databaskopplingar.
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev Värnamo Tel: Epost: Databasteknik 2.
Metoder i java Det finns två typer av metoder i java
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Att programmera i språket Java
Föreläsning 2 Datalogi för E1 2D1343
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Strömmar Vid läsning och skrivning används något som kallas strömmar.
WEBMASTER DAG 13 Mahmud Al Hakim
Föreläsning 4, Kapitel 4 Gruppera objekt Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Föreläsning 5.  Idag  Kap 7 i Dawson  Filer  Felhantering med try…except.
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Vektorer (klassen Vector) Sortering
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
Databashantering Do it Max-style!. SELECT SELECT vad FROM tabellnamn Exempel: ◦ SELECT * FROM stralin_max  * = Välj allt som finns i tabellen ◦ SELECT.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ” Det är inte vad som händer dig som räknas – utan hur du reagerar på det. ” - Epiktetos.
Flexicon – Din systempartner
Föreläsning 14 ”Enkel” Filhantering.
Java servlets och databaskopplingar
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Föreläsning 10 Stränghantering.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Vad är GeoBas? Intergraphs svensk-utvecklade system för
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
2I1073 Föreläsning 2 KTH-MI Peter Mozelius Server, servlets och databaskopplingar.
1. Ett problem/uppgift.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
Återblick. Vad är en databas? ”En samling information som är organiserad på ett sådant sätt att det är lätt att söka efter och hämta enskilda bitar information”
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
ITK:P2 F8 Strömmar och filhantering DSV Peter Mozelius.
Programmeringsteknik Föreläsning 17 Skolan för Datavetenskap och kommunikation.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
Delarna i en Access-databas
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Programmeringsteknik för K och Media
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
DA7351 Programmering 1 Databas SQL Föreläsning 24.
Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License CliMate: Laboration 2 - domänlogik Human Centered Systems Inst. för datavetenskap Linköpings.
Databaser, avancerade frågor
Från databas till Excel
IT Databas Göran Wiréen
Föreläsning 15: Exceptions & lite swing, gränssnitt
Föreläsning 8: Exempel och problemlösning
IT Fördjupning Jon Wide
IT Databas Göran Wiréen
Presentation av Behörighetsbeställning på webben
SQL Structured Query Language Frågespråk för att används för Kommandon
SQL Structured Query Language Frågespråk för att används för Kommandon
Presentationens avskrift:

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License CliMate: Laboration 3 – dataselektion Human Centered Systems Inst. för datavetenskap Linköpings universitet

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Översikt UI för sökning sökfält och felhantering Select i Java och Join Frågeobjekt Svarshantering Skriva ut på fil

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Laboration 3: uppgift 1 Skapa inmatningsfält för sökning i databas Inmatade värden ska kontrolleras Förslagsvis rödfärgade fält

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License UI-representation av frågor dropdown gömmer snabbknappar radiobutton vid få val undvik koder som fritext datum och tid organisera logiskt

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License CliMate: grafiken metadata måste editeras för att få text-titlarna i exempelkoden. Rekomenderad layout-manager är GridLayout elementen flyter ut om plats finns Generiska lyssnare på min och max-fält finns JProgressBar ska användas på samma sätt som i labb 2 update-lyssnare ska lyssna på ObservationReport håller först sökvärden; sen ResultSet och skriver på fil

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Swings Layout-hantering JPanel p = new JPanel(); p.setLayout(new GridLayout(0,2)); p.add(button1); p.add(label2); p.add(button3);...etc

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License CliMate: enkel felhantering sökdata-format testas för varje fält java.text.SimpleDateFormat#parse testar datum (se javadoc) Pop-up visas för första hittat fel förbättrad (frivillig) variant: hitta alla fel direkt Alt: skriv ut felen vid fälten istället för pop-up

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Sekvensdiagram för “Sök”: från presentation till databas SearchDb Action SearchDb Worker Observation Report Database Service searchB: JButton action Performed start select... new SwingWorker-tråden Swing-tråden Select Statement execute Query -”-... setNumberOf Processed... selectResult

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License ObservationReport Observable liksom FileCollection Lyssna på progress vid sparande till fil Har fält som motsvarar sökfälten i UI metoderna setUpperBound, setLowerBound report-objektet vet inte vilka sökkriterier som finns inför konstant i klassen för varje fält Sök i databas ingen egen metod görs av write-metoden Utskrift på fil jmf. FileCollection har hand om inläsning

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Laboration 3: uppgift 2 Sök i databas baserat på inmatade sökvärden Två tabeller används för att hämta svar

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License SQL-SELECT SELECT [ALL | DISTINCT] columnname1 [,columnname2] FROM tablename1 [,tablename2] [WHERE condition] [ and|or condition...] [GROUP BY column-list] [HAVING "conditions] [ORDER BY "column-list" [ASC | DESC] ] Enklaste fallet: SELECT * FROM tablename WHERE condition; Villkor: = likhet < mindre än > större än <= mindre än eller lika >= större än eller lika <> inte lika LIKE substrängs likhet med % REGEXP reguljära uttryck (MySQL)

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Enkelt exempel på SQL-utryck SELECT city, region FROM towns WHERE population > Linköping Östergötland Handeln Stockholm Grums Värmland region city population tabell towns Linköping Östergötland Handeln Stockholm region city resultatmängd

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License SQL-select med JDBC String query = "SELECT city, region FROM towns WHERE population > 15000”; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String city = rs.getString("city"); String region = rs.getString("region"); System.out.println(city + " " + region); } stmt.close(); Linköping Östergötland Handeln tockholm

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Exempel på SQL-utryck: inner join SELECT suppliers.id, suppliers.name, orders.date FROM suppliers, orders WHERE suppliers.id = orders.su_id; Ericsson Nokia Telia Vodafone id name tabell suppliers /05/ /05/13 su_id id date tabell orders Ericsson 2003/05/ Telia 2003/05/13 dateid name resultatmängd

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License SQL-select i JDBC String query = "SELECT suppliers.id, suppliers.name, orders.date” + “FROM suppliers, orders” + “WHERE suppliers.id = orders.su_id"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name") Date date = rs.getDate(“date”); System.out.println(id + “:” + name + “:” + date); } stmt.close(); 10000:Ericsson:2003/05/ :Telia:2003/05/13

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Query Object/Method (Fowler) Jmf. Update Object/Method (labb 2) Kapsla in SQL-kod undvik konkret metadata/program i löpande källkod används i transaktionskript-metoderna DataMapper använder dessa metoder för att bygga upp sitt SQL- statement och sen Men Implementera bara vad du behöver liten overhead – försök inte implementera hela SQL/Select Hitta en bra abstraktionsnivå...svårt men värdefullt

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License SelectStatement addField: metod som tar ett Field-objekt. Innehåller både fältnamn och tabellen för fältet tilldelar query = "SELECT " + col + " FROM " + table + " WHERE " addUpperLimit/addLowerLimit: lägger dit ny ekvation i where-delen och “AND” om ekvationer redan finns execute: skickar skapad fråga till databasen

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Laboration 3: uppgift 3 Uppgift 3: Spara databassvaret på fil filens namn ska efterfrågats spara ner i block använd progressbar jobba med SelectionResult

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Skiss på förlopp Klick på “spara” Visa upp JFileChooser Spara på fil Uppdatera progressbar

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Spara på fil: paketet java.io Enkelriktad sekvensiell trafik - write Tecken-strömmar XxxWriter Byte-strömmar XxxxOutputStream Smidig hantering av objekt och dataformat PrintXxx t ex stöd för println som avslutar med “\n” Java-Ström Datakälla Java-klientprogram

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Skriva till teckenströmmar Kan hantera både byte och char-strömmar Stöd för utskrifter av olika datatyper t ex print och println close() stänger strömmen java.io.PrintWriter Titta i javadoc!

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Exempel: skriv ut till fil import java.io.*;... String[] fileData = {"ett", "litet", "test"}; String fileName = “outfile.txt”; try { PrintWriter out = new PrintWriter(fileName); for (String row : fileData) { out.println(row); } out.close(); } catch (IOException e) { System.err.println("Exception thrown!"); e.printStackTrace(); System.exit(-1); // exit with abnormal value } Skapar/ skriver över filen ett litet test outfile.txt

Lars Degerstedt Attribution-NonCommercial-ShareAlike2.5 License Summering Användargränssnitt för sökning fält med interaktivt stöd, t ex felingenkänning Arbeta (indirekt) med SQL SELECT QueryObject i climate.database gömmer Sql-koden Iterera (indirekt) över ett ResultSet och spara på fil