PDA-applikationer med .NET: Inlämningsuppgift 3

Utgå från din lösning på inlämningsuppgift 2. I den uppgiften fanns inget krav på att sakerna i komihåg-listan skulle finnas kvar om programmet avslutades, men det ska du lägga till i den här uppgiften. Programmet ska därför spara sina data i en databas.

Några tips

Man behöver inte följa de här förslagen.
  1. Studera lektion 11 om hur man använder ADO.NET och databashanteraren SQL Server CE.
  2. Använd programmet SkapaDatabas för att skapa en databas som innehåller en lämplig tabell för att lagra komihåg-listan.
  3. Använd programmet KollaDatabas under utvecklingsarbetet för att studera innehållet i tabellen, lägga in exempelrader, och rensa tabellen. På så vis kan du kolla att ditt eget program gör rätt.
  4. Om du lyckades skilja hanteringen av uppgiftslistan i uppgift 2, till exempel i en särskild klass som heter Uppgiftslista, från resten av programmet, så kan det räcka med att göra ändringar i den klassen för att lagra data i databasen. I stället för att ha en egen lista, så ska progranmmet nu lägga sina data i databasen.
  5. Så fort man gör en ändring i uppgifterna (dvs lägger till en ny, tar bort en gammal, eller ändrar i en uppgift) så ska motsvarande ändring göras i databasen.
  6. Man kan räkna med att inga andra program samtidigt ändrar i databasen, så ditt komihåglisteprogram behöver inte kolla ifall saker plötsligt ändrats i databasen medan programmet kör.
  7. För att punkten ovan ska vara sann, måste du vara försiktig hur du använder KollaDatabas om du kör det programmet samtidigt som ditt komihåglisteprogram.
  8. Om du har både komihåglisteprogrammet och KollaDatabas igång samtdigt, kan det uppstå problem med att databasen är låst. Då kan det kastas ett undantag om "file sharing". Så här ser det ut om det händer i KollaDatabas:
    En meddelanderuta om ett fildelningsfel
    Samma fel kan uppstå om man glömmer att stänga en uppkoppling med con.Close().
  9. Create table-kommandot i programmet SkapaDatabas deklarerar kolumnen Nummer som nyckel. Därför kommer det att kastas ett undantag från SQL Server CE om man försöker lägga in två rader med samma värde på Nummer. Så här ser det ut om det händer i KollaDatabas:
    En meddelanderuta om ett nyckelfel
  10. Kommunikationen mellan programmet och databashanteraren sker ju i form av SQL-kommandon, som är textsträngar. Bygg först ihop textsträngen i en variabel. Om det är något som inte fungerar, så är det ofta en god idé att studera den textsträngen, antingen i debuggern eller till exempel med en MessageBox.
  11. Lägg try-catch-block runt alla databasanrop, och lägg en felutskrift med MessageBox i catch-grenen, så du ser om något gick galet, och i så fall vad. (Titta i programmet KollaDatabas.)
  12. Avsnittet Microsoft SQL Server CE på s 825-860 i läroboken är förstås lämpligt att läsa när man ska göra den här uppgiften.

Redovisning

Till den här uppgiften ska du lämna in två saker:

Rapporten ska innehålla följande:

Läs i Hur man skriver en rapport om grunderna för rapportskrivning. Om ni vill slippa höra mitt eviga gnäll om svenska språket, så undvik särskrivningar och satsradningar.

Packa också ihop applikationen i en Zip-fil. Du hittar katalogen under till exempel C:\Documents and Settings\Padrone\My Documents\Visual Studio Projects. Om ditt projekt heter Komihåglistan, så heter katalogen med projektet C:\Documents and Settings\Padrone\My Documents\Visual Studio Projects\Komihåglistan. Packa ihop hela katalogen med projektet.

Skicka både rapporten och Zip-filen med e-post till läraren. Men döp först om Zip-filen från nånting.zip till exempelvis nånting.info för att överlista överambitiösa virusfilter.

Föregående lektion | Lektionslista


Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se), 25 augusti 2006