14A - Werken met een database - mg

Werken met een database - voorbereiding
Programming C# - II
Week 14A

1 / 17
next
Slide 1: Slide
Applicatie- en mediaontwikkelaarMBOStudiejaar 1

This lesson contains 17 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 90 min

Items in this lesson

Werken met een database - voorbereiding
Programming C# - II
Week 14A

Slide 1 - Slide

Wat gaan we doen
  • Thema: verbinden naar een database
  • Vereiste voorkennis doornemen
  • Introductie gebruik database in .Net (C#)
  • Visual Studio configuratie
  • Oefenen

Slide 2 - Slide

Waarom een relationele database gebruiken vanuit .Net?

Slide 3 - Open question

Waarom
  • Grote hoeveelheden data beheren
  • ACID wordt afgedwongen door het DBMS
  •     (Atomicity, Consistency, Isolation, Durability)
  • Makkelijk data gestructureerd opvragen
  • Andere systemen kunnen makkelijk gebruik van de data maken.

Slide 4 - Slide

Hoe
  • Doornemen van de voorkennis (PRC-1)
  • Doornemen van de theorie
  • Demonstratie
  • Gezamenlijk stap-voor-stap VS / MariaDB configureren
  • Zelfstandig een VS project aanmaken en laten verbinden naar een database

Slide 5 - Slide

Wat ken je al (voorkennis)
  • PRC-1!
  • Collections (Array / List / ...)
  • Iteraties (Loops: for / while / foreach)
  • Als dit niet helder is vraag om extra uitleg!

Slide 6 - Slide

Een relationele database is ...

Slide 7 - Open question

Een relationele database is ...
  • verzameling van gegevens
  • opgeslagen in 1 of meerdere tabellen
  • tabel bevat gelijksoortige informatie, 1 of meerdere kolommen
  • tabel kan linken naar andere tabel dmv sleutel relaties

Slide 8 - Slide

.Net <--> Database
Twee gedeeltes
  1. Verbinding maken (koppelen, deze les)
  2. Gebruiken van de data (volgende les)
  • Uitvragen (Querying -> DQL)
  • Wijzigen / toevoegen / verwijderen (Manipuleren -> DML)
  • Beide via Structured Query Language (SQL)
  • Gestandardiseerde taal (ISO) + DBMS specifieke extensies

Slide 9 - Slide

Verbinding maken (alg.)
  • Verschillende DBMS's
  • Elk met eigenaardigheden / voorkeuren qua verbinding
  •   netwerk socket / bestand / COM / ...
  • Leverancier (of community) ontwikkeld efficiënte connector
  • (Bij geen connector vaak wel ODBC (maar specifiek -> generiek dus waarschijnlijk trager))

Slide 10 - Slide

Verbinding maken (MariaDB) - methode 1
  • Rechttoe-rechtaan voor gebruik in code, toekomst-bestendig!
  1. NuGet package 'mysql.data'
  2. import ns: using MySql.Data.MySqlClient;
  3. Gebruik de MySQL types naar inzicht
  •   MySqlConnection
  •   MySqlCommand
  •   MySqlDataAdapter
  • ...

Slide 11 - Slide

Verbinding maken (MariaDB) - methode 2
  • MySQL Connector/Net + MySQL for Visual Studio (zie doc op ItsLearning)
  1. Installeer 'MySQL for Visual Studio' via installer
  2. Installeer 'MySQL Connector/Net' via installer
  3. Start Visual Studio, maak nieuw project en ...
  4. (fingers crossed en hopen dat Oracle mee gegaan is met de releases van Visual Studio; Huidige VS 2019 preview == nogo )
  5. Maak datasource aan via Data Source Wizard
  6. Alles wordt onder water voor je geregeld

Slide 12 - Slide

Vragen tot zover?

Slide 13 - Slide

Gezamelijk aan de slag
Winforms solution met datasource / datagrid

Slide 14 - Slide

Zelfstandig aan de slag (1)
  • Maak een nieuwe WinForms applicatie (.net framework)
  • Voeg in app.config een connectiestring toe (kies een bestaande db)
  • NuGet MySQL.Data

<configuration>
 <connectionStrings>
  <add name="test" connectionString="SERVER=127.0.0.1;DATABASE=eenDatabase;UID=root;PASSWORD=;"/>
 </connectionStrings>
</configuration>

Slide 15 - Slide

Zelfstandig aan de slag (2)
  • Voeg een multiline textbox en een button to aan het form
  • Haal de connectionstring op uit de App.config
  •   ConfigurationManager.AppSettings["..."]
  • Voeg een instantie van MySqlConnection toe
  • Configureer zodat de connectionstring gebruikt wordt
  • Roep de 'Open()' methode aan

Slide 16 - Slide

Vragen n.a.v. opdracht

Slide 17 - Slide