14B - Werken met een database - mg

Werken met een database - querying
Programming C# - II
Week 14B

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

This lesson contains 18 slides, with text slides.

time-iconLesson duration is: 90 min

Items in this lesson

Werken met een database - querying
Programming C# - II
Week 14B

Slide 1 - Slide

Wat gaan we doen
  • Thema: queries uitvoeren op een database
  • Vereiste voorkennis doornemen
  • Manieren om data op te halen
  • Oefenen

Slide 2 - Slide

Waarom
  • Vorige les use-cases zijn zelfde als hier
  • Misschien nog nieuwe inzichten?

Slide 3 - Slide

Hoe
  • Doornemen van de theorie
  • Demonstratie
  • Gezamelijk stap-voor-stap query opbouwen / uitvoeren
  • Zelfstandig een query opbouwen en uitvoeren

Slide 4 - Slide

Wat ken je al (voorkennis)
  • PRC-1!
  • Collections (Array / List / ...)
  • Iteraties (Loops: for / while / foreach)
  • Vorige les (verbinden naar een DB)

Slide 5 - Slide

MySqlConnection
  • Nodig voor overige MySql componenten (soms onder water)
  • Initialiseer mbv connectiestring
  • (connectiestring evt. dmv MySqlConnectionStringBuilder)

Slide 6 - Slide

MySqlCommand
  • CommandText
  • Connection
  • Parameters (volgende slide)
  • ExecuteReader
  • ExecuteQuery
  • ExecuteNonQuery
  • ExecuteScalar

Slide 7 - Slide

MySqlParameter
  • SQL Injection
  • Optimalisatie (query plans etc)
  • Type bepaling / formatering
  • Quotes (/ escapes)
  • Demo SQL Injection

Slide 8 - Slide

MySql...
  • DataAdapter
  • DataReader
  • (BulkLoader)
  • (DateTime)
  • (CommandBuilder)

Slide 9 - Slide

...DataSet
  • In-memory representatie van data, evt. met relaties
  • Kan uit een database komen maar hoeft niet
  • Dataset - Eén of meerdere tabellen
  • Tabel - Eén of meerdere kolommen
  • Benaderbaar via index (cardinal) of kolomnaam
  • Vulling vaak dmz dataadapter -> MySqlDataAdapter.Fill(dataset)

Slide 10 - Slide

DataSet - voorbeeld #1
var adapter = new MySqlDataAdapter("select ...", new MySqlConnection(...));
DataSet resultSet = new DataSet();
var rowsAdded = adapter.Fill(resultSet);

dataGridResults.DataSource = resultSet.Tables["tabelnaam"]; // of [index]
dataGridResults.DataMember = "tabelNaam";

Slide 11 - Slide

DataSet - voorbeeld #2
  • Gebruik van datasource wizard 
  • Volg stappen in document CSharp Lessen II - 13.3

Slide 12 - Slide

Vragen tot zover?

Slide 13 - Slide

(PRC-III / IV)
  • DataGridView <-- DataAdapter: tight coupling, niet ideaal
  • Bij grotere projecten DAL / services laag
  • Ontsluiten met stored procedures
  • Gebruik ORM framework -> Entity Framework

Slide 14 - Slide

Gezamelijk aan de slag
...

Slide 15 - Slide

Zelfstandig aan de slag
  • ....

Slide 16 - Slide

Vragen n.a.v. opdracht

Slide 17 - Slide

Bedankt!
  • Vragen
  • Volgende les: meerdere Forms in een winforms applicatie

Slide 18 - Slide