4175 WPF SQLite
Förberedande arbete med databas
En SQL-databas innehåller tabeller med data, som i excel. Data sparas i rader, se exemplet nedan.
Installera DB Browser for SQLite
Installera DB Browser for SQLite.
Starta programmet.
skapa databas
Gör en ny databas med valfritt namn t.ex. sqlite_db. Spara på lämpligt ställe.
skapa tabell i databasen
Klicka på fliken Execute SQL. Klistra in följande kod.
CREATE TABLE IF NOT EXISTS tower (id INTEGER PRIMARY KEY AUTOINCREMENT , name VARCHAR(128) NOT NULL, height INT);
Klicka på den blå pilen för att köra koden, se figur nedan. Då skapas en tabell med namnet tower om den inte redan finns.
För att se tabellen klickar du fliken Browse Data därefter väljer du tower i rullgardinsmenyn, se figur.
För att lägga till en rad i tabellen klickar du på New Record. Klicka därefter på rutan för name på rad 1. Skriv in Kaknästornet. Klicka därefter på rutan för height och skriv 155, se figur.
Vidare förklaring till SQL-koden ovan. Tabellen innehåller tre kolumner: id, name och height.
id
SQL-koden nedan
(id INTEGER PRIMARY KEY AUTOINCREMENT ,
berättar att:
- INTEGER: id ska innehålla heltal
- AUTOINCREMENT : id ska börja på 1 och öka med ett för varje ny rad som läggs till i tabellen
- PRIMARY KEY: varje id är unikt, kallas primär nyckel. Alla tabeller måste innehålla en sådan.
name
Följande SQL-kod
name VARCHAR(128) NOT NULL,
anger nedanstående för kolumnen name:
- VARCHAR(128): är en text som högst får vara 128 tecken
- NOT NULL: måste ha ett värde
height
Sista SQL-raden, som visas nedan, berättar att kolumnen height ska innehålla heltal.
height INT);
Lägg till rad med INSERT
Det går också att lägga till en rad i tabellen med följande SQL-kod.
INSERT INTO tower (name, height) VALUES ("Burj Kahlifa", 828);
Klicka på fliken Execute SQL och klista in koden där. Tryck på den blå pilen för att köra koden.
Klicka på Browse Data för att se tabellen, se figur nedan.
Lägg till några torn på egen hand.
SELECT - välj rader för visning
Gå till fliken Execute SQL och klistra in följande kod för att visa tabellen, se figur nedan.
SELECT * from tower
Pröva också att köra följande SQL-kod. Kör var och en av raderna var för sig.
SELECT * from tower ORDER BY name ASC; SELECT * from tower ORDER BY name DESC;
Sortera själv på höjd.
Pröva var och en för sig:
SELECT name from tower;
SELECT name, height from tower;
SELECT * FROM tower WHERE height > 600;
Vad visas?
UPDATE - ändra rad
Pröva:
UPDATE tower SET name="Nya Kankäs" WHERE name="Kaknästornet";
DELETE - ta bort rad
Visa hela tabellen och kolla vad som hände.
DELETE FROM tower WHERE id=3;
Visa hela tabellen och kolla vad som hände.
Exempel med höga torn i SQLite-databas
Ladda ner koden för projektet. Demonstration av databashantering med SQLite. Kod för DemoTowerSql finns på GitHub.
Direktlänk till klassen som hanterar databasen
Kör programmet. När programmet körs skapas en databas i mappen som visas i fönstret. Öppna databasen i DB Browser for SQLite. Titta på innehållet i databasen. Det är ungefär samma som du gjorde i övningen ovan.
Testa att:
- lägga till ett torn
- ändra på ett torn
- ta bort ett torn
Kolla i DB Browser for SQLite vad som händer med tabellen tower.
Be din lärare förklara koden.
Arbeta med SQLite-databas i eget projekt
Steg i arbetet
Läs in nuget-paket
- Högerklicka på projektet i Solution Explorer
- välj: Manage NuGet Packages
- klicka på Browse
- sök på: Microsoft.Data.SQLite
- välj: Install
koda
Uppgift - frågesport
Lägg frågorna till din frågesport i en databas. Studera koden i projektet på GitHub.
Steg 1 - frågor i databas
Spela frågesporten med frågor lästa från databas.
Steg 2 - administrativt gränssnitt
Gör ett administrativt gränssnitt där du kan lägga till nya frågor, ändra på gamla fråga och ta bort en fråga.
Länkar
Dialog boxes overview, Microsoft
Microsoft.Data.Sqlite overview
SQL - CREATE Table, Tutorialspoint
How I Write SQL, Part 1: Naming Conventions, Launch by lunch
using statement (C# Reference), Microsoft