Att jobba mot en DAL-class, del 1
|
|
- Marianne Larsson
- för 7 år sedan
- Visningar:
Transkript
1 Att jobba mot en DAL-class, del 1 Många har säkert hört talas om DAL, men få har använt det på riktigt. DAL står för Data Access Layer och används för hämta och ta hand om all datahantering mot databasen. Genom att skapa en DALclass gör att vi har ett ställe som öppnar upp kommunikationen mot databasen. Vi bygger in några enkla funktioner och vi har ett enkelt verktyg för att hämta och ändra informationen i databasen. Det finns en hel del varianter på detta, men nu visar jag en liten del som jag tycker är lätt greppbart. I klassiska ASP:n så inkluderade man oftast en liten fil på varje sida som innehöll koden för att skapa ett connection-object mot databasen. Den inkluderade man på sidan för att slippa skriva om den varje gång när man skulle göra ett nytt db-anrop. Vår första del i den här artikelserien kommer att vara koden för att skapa vårat connection-object, fast i en liten modernare tappning. Det här kommer vara en artikelserie i flera delar. Jag har valt att lägga mina anslutningsuppgifter mot databasen i web.config-filen, eftersom jag tycker att det är där den ska ligga. Vi lägger till några rader i <configuration>-delen: <connectionstrings> <add name="databaseconnectionstring" connectionstring="server=*server adress*;port=3305;uid=*loginnamn*;pwd=*lösen*;database=*databasens namn*;allow Zero Datetime=True;"/> </connectionstrings> Ändra på alla ställen där orden börkar och slutar med en stjärna. Varför jag går mot MySQL är för att jag har färdig kod och kan skriva artikeln utan att pröva mig fram och skapa nya databaser m.m. Jag kommer troligtvis även kompletera med en DAL-class i en senare artikel där jag väljer att gå mot MsSQL istället, men det innebär att jag måste skriva om den koden jag har. För att kunna köra mot en MySQL-databas så behöver vi även ladda hem en DLL-fil som heter MySQL.Data.dll och lägga den i en mapp som heter Bin. När vi lagt till uppgifterna i databasen och hittat DLL-filen så börjar vi nu att skapa en ny class. Eftersom DAL är en känd benämning så kan vi lika bra döpa den till DAL.cs och placera den i mappen App_Code. Jag gillar inte när det dräller av using-direktiv som inte används och därför så väljer jag att städa upp lite grann och har enabrt dessa 4:a rader. using MySql.Data.MySqlClient; using System; using System.Configuration; using System.Data; Vi skapar våran connection som hämtar infon ifrån web.config med några rader kod. public class DAL public static MySqlConnection GetConnection() MySqlConnection conn = new
2 MySqlConnection(ConfigurationManager.ConnectionStrings["DatabaseConnectionS tring"].connectionstring); conn.open(); return conn; Nu har vi grunden klar för att bygga en enkel DAL-class. Vidare i denna artikelserie så kommer jag gå in och visa några enkla funktioner för att enkelt hämta/skriva data ifrån våran databas.
3 Att jobba mot en DAL-class, del 2 Om du nu har följt del1 av denna artikleserie så ska vi nu skapa en funktion som man kan använda för att fylla en repeater med information. Våran funktion kommer att returnera en DataTable, men det är inget som vi kommer att se när våran DAL-class väl snurrar. Öppbna upp filen DAL.cs och lägg till följande funktion: public static DataTable GetData(MySqlCommand command) try using (MySqlConnection conn = GetConnection()) using (DataSet ds = new DataSet()) using (MySqlDataAdapter da = new MySqlDataAdapter()) da.selectcommand = command; da.selectcommand.connection = conn; da.fill(ds); return ds.tables[0]; catch (Exception err) throw new ApplicationException(string.Format("Felmeddelande: 0", err.message)); Det som händer är är att vi skapar våran variabel conn som är av typen MySqlConnection och hämtar information ifrån GetConnection() som skapades i del 1. Eftersom GetConnection() är samma som för övriga funktioner så har vi skapat en plats där den informationen finns som vi anropar ifrån alla ställen. Vi talar om att den ska jobba med en MySqlDataAdapter och att den senare ska returneras tillbaka till anropsstället. Nu är vi klara med det som behvöer göras i våran DAL-class och fortsätter och skapar en ny class som vi döper till BLL.cs. BLL står för Buisness Layout Layer. I BLL.cs så lagrar vi alla databasanropsfunktioner för att enkelt kunna fylla en repeater med information. Nu gör vi en enkel funktion som hämtar alla artiklar baserat på en person, här väljer jag enbart att visa hur man kör med paramterar för att slippa tänka på ev. SQL-injection. public static DataTable getarticles(string userid) MySqlCommand getarticles = new MySqlCommand("SELECT id, headline, text, date FROM articles WHERE userid =?userid");
4 getarticles.parameters.add("?userid", MySqlDbType.VarChar, 25).Value = userid; return DAL.GetData(getArticles); Vi har nu en funktion som heter getarticles som är av type DataTable där vi skickar in userid. Vi har våran SQL-sats som en MySqlCommand och en paramter som vi får med i SQL-satsen som ett userid. Vi anropar våran DALclass och funktionen GetData. Nu kommer vi till det roliga att börja använda repeatern. Skapa en ny sida som ni kan kalla repeater.aspx. I Toolboxen och under Data så hittar ni repeater-controllen. Dra ut en repeater-controll på sidan. Om ni nu separerer på de två raderna som repeatern och skriver < så kommer ni få fram en lista på olika alternativ. AlternatingItemTemplate, FooterTemplate, HeaderTemplate, ItemTemplate och sist SeparatorTemplate. Vi kommer bara att använda FooterTemplate, HeaderTemplate och ItemTemplate. Ni kan börja lägga till <HeaderTemplate> inutti repetern. <HeaderTemplate><div>Våran första repeater.</div></headertemplate> En <FooterTemplate> <FooterTemplate><div>Här slutar våran första repeater.</div></footertemplate> Och till sist <ItemTemplate> <ItemTemplate> <div> <div> <%# Eval("id") %></div> <div> <%# Eval("headline") %></div> </div> </ItemTemplate> id och headline är två av fälten vi valt att hämta ut i våran funktion getarticles. För att fylla våran repeater med innehållet ifrån databasen så ska vi nu öppna upp repeater.aspx.cs och lägga till två rader i Page_Load. protected void Page_Load(object sender, EventArgs e) Repeater1.DataSource = bll.getarticles( MacTommy ); Repeater1.DataBind(); Kör sidan och om du gjort rätt så har du en 3-skiktslösning med en <asp:repeater> där ni har full kontroll på all HTML som genereras.
5 Att jobba mot en DAL-class, del 3. Tidigare artiklar så har jag visat hur man enkelt kan fylla en repeater med information, när man väl har skapat sin DAL-class så kan man lätt återanvända den om och om igen. Det är inte alltid som man vill fylla en repeater med information, utan bara hämta t.ex. antalet artiklar som finns. Vi börjar lägga till en funktion i våran DAL-class. public static object ExecuteScalar(MySqlCommand command) using (MySqlConnection conn = GetConnection()) command.connection = conn; object result = command.executescalar(); return result; Denna funktion returnerar ett valfritt object. Vi kan inte nyttja det för att hämta id och namn, utan det är antingen id eller namn. Här har vi åter GetConnection() för att hämta själva db-anslutningen. Vi går till våran BLL.cs och lägger till SQL-satsen för att hämta antalet artiklar baserat på en viss person. public static Int16 countarticlesbyuser(string userid) MySqlCommand countarticlesbyuser = new MySqlCommand("SELECT COUNT(id) FROM articles WHERE userid =?userid "); countarticlesbyuser.parameters.add("?userid", MySqlDbType.VarChar, 25).Value = userid; return Convert.ToInt16(DAL.ExecuteScalar(countArticlesByUser)); Tillbaka i repeater.aspx.cs så kan vi nu enkelt skapa oss en integer och hämta antalet artiklar med en rad kod: int articlesbyuser = bll.countarticlesbyuser( MacTommy ); Nu kan man fritt använda variabeln articlesbyuser för att skriva ut hur många artiklar en viss person skrivit. Vill man få ut alla artiklar oavsett skribent så lägger vi till ytterligare några rader i BLL.cs. public static Int16 countarticles() MySqlCommand countarticlesbyuser = new MySqlCommand("SELECT COUNT(id) FROM articles"); return Convert.ToInt16(DAL.ExecuteScalar(countArticlesByUser)); Samma sak här, tillbaka till repeater.aspx.cs och hämta antalet med: int articlesbyuser = bll.countarticles();
6 Som ni märker så kan ni bygga upp ett bibliotek med SQL-satser som ni hittar på ett ställe och med en rad så hämtar ni det ni önskar till en variabel. Eftersom vi lagt till ExecuteScalar i DAL-classen tidigare så behöver vi bara komplettera våran BLL.cs-fil med ytterligare SQL-satser.
7 Att jobba mot en DAL-class, del 4. Tidigare så har jag visat hur man enkelt kan hämta data ifrån en DAL-class, nu kommer vi till där vi vill skicka in data till databasen via en DAL-class. Vi går till DAL.cs och lägger till ytterligare en funktion. public static void ExecuteNonQuery(MySqlCommand command) using (MySqlConnection conn = GetConnection()) command.connection = conn; command.executenonquery(); ExecuteNonQuery använder vi när vi skickar in data, utan att få något tillbaka. Vi går till våran BLL.cs och lägger till att vi ska spara en ny artikel. public static void savearticle(string title, string text) MySqlCommand savearticle = new MySqlCommand("INSERT INTO articles (headline,text,date) VALUES (?headline,?text,?date)"); savearticle.parameters.add("?headline", MySqlDbType.String, 255).Value = headline; savearticle.parameters.add("?text", MySqlDbType.String).Value = text; savearticle.parameters.add("?date", MySqlDbType.Datetime).Value = DateTime.Now; DAL.ExecuteNonQuery(saveArticle); Åter igen så kan vi gå tillbaka till våran repeater.aspx för att spara en ny artikel: bll.savearticle( Min rubrik, Min text som även kan hämtas in ifrån en textbox istället. ); Vill vi ta bort en artikel så skapar vi en funktion i BLL.cs: public static void deltearticle(int id) MySqlCommand deltearticle = new MySqlCommand("DELETE FROM articles WHERE id =?id"); deltearticle.parameters.add("?id", MySqlDbType.Int, 11).Value = id; DAL.ExecuteNonQuery(delteArticle); Radering sker nu ifrån våran repeater.aspx med en rad kod. Denna tar bort artikeln med ID:et 10: bll.deletearticle(10); Nu har ni fått en liten inblick hur man enkelt kan jobba med en enkel DALclass.
8 Det finns flera andra varianter och somliga föredrar vissa framför andra. Jag har fastnat för den här varianten, även om det säkert finns andra som är mycket lättare att jobba med.
Stored procedure i ASP.NET
Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored
Läs merpublic DataSet GenerateDataSet(SqlCommand dbcommand, String tablename, out String errormsg) { errormsg = "";
using System; using System.Collections.Generic; using System.Linq; using System.Web; // Namespaces för SQL Server och ADO.NET using System.Data.SqlClient; using System.Data; // Namespace för inläsning
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merASP.NET Thomas Mejtoft
ASP.NET Introduktion till ASP.NET Utveckla i ASP.NET I ASP.NET kan och bör man separera HTML-kod från övrig kod (C#, VB ) I enklare fall läggas kod i script-block Vanligtvis läggs den i en Code Behind-fil
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merLab 6: ASP.NET 2.0 Providermodellen
Lab 6: ASP.NET 2.0 Providermodellen Den stora finessen med Providermodellen är enkelheten att skapa sin egna provider för att kunna anpassa en tjänst utefter de behov man har. Den gör tillståndshantering
Läs merStored procedure i ASP.NET
Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored
Läs merInnehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata
Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen
Läs merExceptions (undantag) Murach s: kap 7
Exceptions (undantag) Murach s: kap 7 2013-01-28 1 Winstrand Development Exceptions (undantag) Inträffar ett oförutsägbart fel i när programmet körs kommer ett undantag (exception) att inträffa Undantaget
Läs merObjektorienterad Programmering (OOP) Murach s: kap 12-16
Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,
Läs merCommand line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Läs merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Läs merADO.NET Murach Kapitel 17-20
Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan
Läs merLanguage Integrated Query, LINQ, och databaser
Language Integrated Query, LINQ, och databaser 1 Imperativ eller deklarativ programmering Imperativ programmering Du som programmerare beskriver i detalj alla steg som måste utföras för att lösa en viss
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merASP.NET Web Forms. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Vad är Web Forms?
ASP.NET Web Forms Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Vad är Web Forms? Web Forms är en del av ASP.NET ramverket. Web Forms är kontroll- och händelsestyrd programmeringsmodell
Läs merFöreläsnings 9 - Exceptions, I/O
Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public
Läs merINTRODUKTION TILL JDBC
INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,
Läs merKlientprogrammering mot databaser
Klientprogrammering mot Databaser Java DataBase Connectivity, JDBC Klientprogrammering mot databaser Native API olika för olika DBMS, ofta i C/C++ ODBC, Open Datbase Connectivity samma API för olika databashanterare.
Läs merFöreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser
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) Den nya klassen behåller alla egenskaper som den gamla
Läs merMetoder (funktioner) Murach s: kap Winstrand Development
(funktioner) Murach s: kap 6 2013-01-23 1 Winstrand Development Metoder I C# kan vi dela in koden i block en kodsekvens ska köras likadant på flera ställen i applikationen. Detta block kallas för en metod
Läs merDUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Läs merTentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Läs merDB, DATA, LOGIC, EXPOSURE (WEB)
Backend DB, DATA, LOGIC, EXPOSURE (WEB) MySQL. MongoDB, LDAP, etc DB DATA LOGIC SOA TJänster EXPOSURE (WEB) Klienter kan vara webbsidor, desktop/mobil applikationer, andra SOA tjänster, ATM, parkeringsautomater
Läs merÖversikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Läs merÖvning. Introduktion och förberedelser
Introduktion och förberedelser Denna övning riktar in sig på att skapa och anropa metoder. Vi kommer att köra alla uppgifter i samma projekt i Visual Studio om inte annat anges. Så innan du börjar med
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
Läs merWebbsidor och databaser i ASP.NET
Webbsidor och databaser i ASP.NET med VB.NET Webbaserad applikationsutveckling december 2005 Innehållsförteckning 1 TABELLER OCH INSTÄLLNINGAR I DENNA SAMMANFATTNING... 3 1.1 Tabeller... 3 1.2 Lägga till
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merUndantag. Engelska: exceptions. Skansholm: exceptionella händelser
Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker öppna en fil som inte finns, dividera med noll, indexera utanför en array osv. bjectorienterad programmering
Läs merOutline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler
Outline Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vända om inlästa värden Vända om inlästa
Läs merGeneriska konstruktioner. Kursbokens kapitel 13
Generiska konstruktioner Kursbokens kapitel 13 1 Vad är en generisk konstruktion? Generisk står för; allmän eller generell En generisk konstruktion kan användas för olika typer av data Med hjälp av templates
Läs merGrundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Läs merHögskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-04-28, kl 09.00-13.00 Hjälpmedel: Endast bifogat kompendium
Läs merDIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga
203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6
Läs merDetta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling
Göteborg, Magnus Myréen, 2014-10- 15 Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max
Läs merLaboration 1 Introduktion till Visual Basic 6.0
Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.
Läs merLösningsförslag till omtentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-6, TDA540 Dag: 207-0-24, Tid: 4.00-.00 Uppgift a) En abstrakt klass kan inte instansieras,
Läs merProjekt Foreläsning VI
Webbprogrammering - 725G54 Projekt Foreläsning VI Agenda Sessions update Labb 5 Genomgång projektuppgift Kursinnehåll avstämning Kursmål avstämning Sessions På IDA måste ni göra session_save_path('dir)
Läs merÖvning MS SQL och MVC del 2
1 Övning MS SQL och MVC del 2 Denna övning, som är uppdelad i två delar, kommer att visa hur du kan arbeta med MS SQL och MVC. Applikationen är ett inloggningssystem som innehåller de flesta saker som
Läs merObjektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016
Objektorienterad Programkonstruktion Föreläsning 4 8 nov 2016 Nästade klasser I Java går det att deklarera en klass inuti en annan klass. Vi kallar detta för att en yttre klass innehåller en inre klass.
Läs merKopiering av objekt i Java
1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom
Läs merGenomgång av tentamen. Databasteknik ITHS 4/3 2016
Genomgång av tentamen Databasteknik ITHS 4/3 2016 Tentans upplägg Täcka in de 10 delar av kursen vi bedömt som viktigast Säkerställa att det funnits såväl teoripass som övningspass kring varje del Lätt
Läs merAllmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.
Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2014-06-13
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merDet finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merObjektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Arrayer Metoder Räckvidd (Scope) Eclipse
Läs merF8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander
F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod
Läs merBankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merWebbtjänster med API er
Webbtjänster med API er Mål med lektionen! Titta på hur service:ar fungerar och hur vi programmerar dem. Vad lektionen omfattar WCF Service WCF Services Vad är en WCF service? En WCF Service är ett program
Läs merUppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:
Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merLektion 5 HTML, CSS, PHP och MySQL
Lektion 5 HTML, CSS, PHP och MySQL I den här lektionen behandlas i huvudsak PHP för att läsa information från en databas, MySQL. Det förutsätts att tidigare lektioner är gjorda, eller att du har tillräckliga
Läs merDet finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merOOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merKARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09
Laboration 4, ISG A04 och DVG A08 HT-09 Laborationen går ut på att skapa en enkel bankbok. Ni skall i bankboken kunna registrera upp till 30 transaktioner som kan bestå av insättning, uttag eller checkuttag.
Läs merFöreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Läs merLösningar för tenta 3 DAT043,
Lösningar för tenta 3 DAT043, 2018-08-22. Uppgift 1 class Person{ public String förnamn; public String efternamn; public int ålder; private double längd; private double vikt; public Person(String förnamn,
Läs merFöreläsning 3 Innehåll. Generiska klasser. Icke-generisk lista ArrayList, skiss av implementering. Icke-generisk lista Risk för fel
Föreläsning 3 Innehåll Generiska klasser Implementera generiska klasser Exceptions Dokumentationekommentarer javadoc Enhetstestning - junit Man kan deklarera en eller flera typparametrar när man definierar
Läs merFactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst 2004-10-29
FactoryCast HMI Premium & Quantum PLC MySQL Server och FactoryCast HMI databastjänst 2004-10-29 INNEHÅLLSFÖRTECKNING 1 DATABASTJÄNSTEN...3 1.1 KONFIGURERING AV DATABASTJÄNST...3 2 KONFIGURERING MYSQL...6
Läs merDet här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.
Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av
Läs merAtt skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Läs merÖversikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning
Översikt Uttryck i tilldelningssatser Typer och typomvandling Klasser Metoder Konstanter Eclipse-tips MERA JAVA OCH ECLIPSE Institutionen för datavetenskap Programmering 1 Rita Kovordányi 2 public class
Läs merBackcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet
Žƒ ƒ Ž Ž ˆ ƒ ƒ ƒ Žƒ ƒ Ž ˆ Œ ŽŽ ƒ Backcode Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet Innehållsförteckning 12-05-29 Inledning... 3 Användarhandledningen... 4 Klasser... 4 Metoder...
Läs merObjektorienterad programmering med Java, Generics
Generics i Java Generic: allmän, genersisk. På menyn på en asiatisk restaurang: Denna rätt serveras med valfritt kött, fisk eller skalddjur Bakgrund Generics i Java ger oss att skriva kod, klasser och
Läs merTentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2000-03-22, kl 14.00-18.00 Hjälpmedel: En lärobok
Läs merDu skall naturligtvis visa körexempel med output där det behövs i din rapport!
och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail
Läs merMål med lektionen! Repetera och befästa kunskaperna.
Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer
Läs merOmtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-04-06, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Läs merPROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#
PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# Vi gör ett enkelt glosförhör Allt det du gör idag ska ligga i samma projekt (och mapp). Du kan om du tycker det behövs använda flera forms
Läs mertrafiksimulering Intro OU5 trafiksimulering
Presentation av obligatoriska uppgiften trafiksimulering Ett lite större program med flera klasser Hur man designar ett system Hur man gör simuleringar 1 Valsätr ravägen Korsningen Dag hammarsköldsväg
Läs merLösningsförslag, tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och
Läs merTentamen i Webbproduktion (7.5 hp)
Umeå Universitet Institutionen för Tillämpad fysik och elektronik Stefan Berglund Tentamen i Webbproduktion (7.5 hp) 2008-01-13 9.00-15.00 Denna tentamen består av tre sektioner, en gemensam och två profiler.
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:
Läs merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs merif (n==null) { return null; } else { return new Node(n.data, copy(n.next));
Inledning I bilagor finns ett antal mer eller mindre ofullständiga klasser. Klassen List innehåller några grundläggande komponenter för att skapa och hantera enkellänkade listor av heltal. Listorna hålls
Läs merAsp.net mvc intro PER KVARNBRINK, 2015-01-27
Asp.net mvc intro PER KVARNBRINK, 2015-01-27 Byggstenarna i ett mvc-projekt 1. Databasen 2. Datamodellen (M:et) 3. Entity framwork 4. Routing 5. Kontroller (C:et) 6. Vy (V:et) 7. Vymodeller 8. Troligen
Läs merList.java. List.java. Printed by Tom Smedsaas
Mar 03, 08 17:48 Page 1/3 class List * Representerar en länkad lista av godtyckliga objekt public class List { ListNode * Noder i listor protected static class ListNode { protected Object data; protected
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt
Läs merLaboration 24 Databasen MySQL och java
Laboration 24 Databasen MySQL och java Avsikten med denna laboration är att du ska hämta information ur en eller flera tabeller och visa resultatet i en JTable-komponent. Du ska ändra innehållet i tabellen
Läs merParsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck
Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation
Läs merFöreläsning 6: Metoder och fält (arrays)
TDA 545: Objektorienterad programmering Föreläsning 6: Metoder och fält (arrays) Magnus Myréen Chalmers, läsperiod 1, 2015-2016 I (föregående och) denna föreläsning Läsanvisning: kap 2 & 13 meddelanden
Läs merInledande programmering med C# (1DV402) Tärningarna ska kastas
Tärningarna ska kastas Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel
732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public
Läs merFöreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
Läs merArbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
Läs merFöreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Läs merNya Aquila använder senaste versionen av våra verktyg: UniPaaS 1.9 (tidigare Magic), samt Crystal Reports version 12 (idag kör ni på version 8).
Beskrivning av nya Aquila 3 Nya Aquila använder senaste versionen av våra verktyg: UniPaaS 1.9 (tidigare Magic), samt Crystal Reports version 12 (idag kör ni på version 8). Aquila 3 är helt kompatibel
Läs merTentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och penna. Behandla
Läs mer2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer Av Björn Eiderbäck Email: bjorne@nada.kth.se Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: 7906277 previous next Exempel: lampa Light1 #
Läs merTENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
Läs mer