Software Development fundamentals

Slides:



Advertisements
Verwante presentaties
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Advertisements

PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
MySQL-acties Klassikaal: Wijnen.sql. 1.Toon alle wijnen die er zijn. Toon de naam, kleur en prijs. SELECT `naam`,`kleur`,`prijs` FROM `wijnen`
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Van domeinklasse tot implementatie
W ORD P RESS TECHNISCHE ACHTERGROND Kris Cardinaels 26 maart 2013.
Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Download en installeer de gereedschappen
Vorige week: Referentiele integriteit
Inleidend probleem Data structuur (hiërarchie van classes)
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Workshop PHP Een productencatalogus Met database.
Java DataBase Connectivity
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
Presenteert:.
Deel 9: Relationele Databases: Oef. & 1e client- server app 1 Internetapplicaties Deel 9: Relationele Databases: Oefeningen en 1e client- serverapplicatie.
Deel XIII Eerste echte e-commerce applicatie (iteraties + impl ) 1 Internetapplicaties Deel 13: Eerste echte e-commerce applicatie: Enkele iteraties met.
Deel X: JSP + Java + database 1 Internetapplicaties Deel 10: JSP + Java + database: Client Server via http.
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
SQL ( SERVER ) Les #02: T-SQL. A GENDA Herhaling les 4 Views SELECT…INTO Beheren van tabellen: CREATE ALTER DROP Opdracht voor de volgende les.
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
Programmeercursus O.O.P. met VISUAL BASIC.NET
Datamodellering en –verwerking 8C020 college 9. Terugblik college week 8 Terugkoppeling opdracht deel A Toepassingen van Petri-netten in biologie Oefeningen.
Encapsulatie: Every man is an island upon himself.
Databases Hoofdstuk 25 Hoofdstuk 24.
Front-end development
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Java & het Web Programma: Databases (jdbc, JNDI, ORM, JPA)
Loops en errors Array's Random try catch for loop while loop do while loop.
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
Bestanden Lezen Schrijven Afbeeldingen. Bestandstypen.txt.png eigen.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Windows applicatieontwikkeling
– Software development fundamentals
Software Development fundamentals
SQL Cursus deel
Gameprogrammeren: Lists en interfaces
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Herhalingen
Gameprogrammeren: Properties
Software Development fundamentals
ASP.NET MVC Web Development
ASP.NET MVC Web Development
Software Development fundamentals
Software Development fundamentals
ASP.NET MVC Web Development
SQL Les February 2019.
ASP.NET MVC Web Development
SQL Les 3 17 February 2019.
SQL Les 7 24 February 2019.
Sharing.
SQL Les 1 5 April 2019.
Software Development fundamentals
– Software development fundamentals
Software Development fundamentals
Software Development fundamentals
SQL Les 9 12 May 2019.
Software Development fundamentals
– Software development fundamentals
– Software development fundamentals
Windows applicatieontwikkeling
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Software Development fundamentals ADO.NET

voorkennis ADO.NET = Verzameling classes in het .NET framework die we kunnen gebruiken voor databasetoegang

Verbinding sluiten / Using statement inhoudsopgave ADO.NET SqlConnection Connectionstring SqlCommand SqlDataReader Resultaat in een List<> Verbinding sluiten / Using statement

Wat gaan we doen (doel voor vandaag) Verbinding maken met een database Met SqlConnection Gegevens uitlezen Met SqlCommand en SqlDataReader een List maken Deze gegevens tonen op een form Met de ‘Gridview’ control

Wat gaan we nu doen Todo-applicatie samen ontwikkelen Database maken Form maken Database code schrijven Class maken Nog meer database code schrijven

Database maken We gaan een database maken voor een todo-applicatie. Hoe komt deze database eruit te zien?

SqlConnection Met SqlConnection maken we een verbinding met de database SqlConnection con = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\mydb.mdf;Initial Catalog=mydb;Integrated Security=True;MultipleActiveResultSets=True");

Met SqlConnection maken we een verbinding met de database SqlConnection con = new SqlConnection(); Om een verbinding te maken heb je een ConnectionString nodig. Dat is één string die alle toegangsgegevens bevat. Voorbeeld connectionstring voor Sql Server Express 2014 LocalDB: Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\mydb.mdf;Integrated Security=True;

SqlConnection Je kunt de connectionstring meegeven aan de constructor: SqlConnection con = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\mydb.mdf;Integra ted Security=True;"); De @ gebruiken we om aan te geven dat we escape characters willen negeren (de \) Maar, waar kan je de juiste connectionstring vinden?

Hoe komen we eraan? Optie 1: Opzoeken op internet en aanpassen Optie 2: Dubbeklikken op het .mdf bestand om de database te openen. Dan bij de properties kijken naar de connectionstring, daar staat: Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="c:\users\eindbaas\documents\visual studio 2015\Projects\MyApplication\MyApplication\MyDatabase.mdf";Integrated Security=True Optie 3: In Visual Studio onder Data Sources > Add New Data Source > Next > Next > Connectionstring uitklappen. Daar staat: Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integr ated Security=True Dit kan je overnemen, en de wizard annuleren.

int result = cmd.ExecuteNonQuery(); SqlCommand SqlCommand cmd = new SqlCommand("SELECT * FROM product", con); Om vervolgens de query uit te voeren, kunnen we kiezen tussen: int result = cmd.ExecuteNonQuery(); Voert de query uit en returned het aantal ‘affected rows’; Handig voor Update, Delete, Insert SqlDataReader reader = cmd.ExecuteReader(); Voert de query uit en returned een DataReader om mee door de resultaten te lopen. Voor Select.

SqlCommand met datareader SqlConnection con = new SqlConnection(connectionstring); SqlCommand cmd = new SqlCommand("SELECT * FROM product", con); con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["eenkolom"]); } con.Close(); Nu worden in de console onder elkaar alle waarden uit de kolom ‘eenkolom’ getoond. Je kunt deze while loop ook gebruiken om een lijst met objecten te vullen. Die lijst met objecten kan je dan in je console/form/webpagina tonen.

Omzetten naar een list We kunnen het resultaat van een SELECT query omzetten naar een List<> List<> is een uitgebreider alternatief voor een array. Hiervoor moeten we nog wel eerst een class maken.

public int Id { get; set; } public string Description { get; set; } Class maken Eerst maken we een class met properties die overeenkomt met de databasetabel public class Product { public int Id { get; set; } public string Description { get; set; } public double Price { get; set; } }

Lijst met objecten vullen En dan gebruiken we deze class om een List te maken List<Product> lijst = new List<Product>(); while (reader.Read()) { Product p = new Product(); p.Id = int.Parse(reader[“id”]); p.Description = reader[“description”].ToString(); p.Price = double.Parse(reader[“price”]); lijst.Add(p); } gridview1.DataSource = lijst;

close Klaar met je SqlConnection? Dan sluit je ‘m Voorbeeld van een delete query: SqlConnection con = new SqlConnection(connectionstring); con.Open(); SqlCommand cmd = new SqlCommand(“DELETE FROM product WHERE id = 1", con); int result = cmd.ExecuteNonQuery(); con.Close();

Using gebruiken als alternatief voor close() using (SqlConnection connection = new SqlConnection(connectionString)) { try connection.Open(); // doe iets met de connection, voer queries uit etc. } catch (Exception) // doe iets met de foutmelding } Het using statement zorgt ervoor dat de connection wordt gesloten en opgeruimd zodra je ermee klaar bent

Wat gaan we doen? Zelfstandig northwind applicatie ontwikkelen

Vragen Zijn er vragen?