C# och SQLite
Börja med att lägga till NuGet-paketet Microsoft.Data.Sqlite. Antingen genom att använda NuGet Gallery eller genom att köra i konsollen:
SqliteConnection
En SqliteConnection är ett objekt som är kopplat till en SQLite-databasfil.
Det är ofta en bra idé att använda ett using-kodblock för att säkerställa att programmet inte håller kvar kopplingen längre än nödvändigt. Då stängs kopplingen ner säkert i samband med att using.kodblocket avslutas.
CreateCommand()
Skapar ett nytt SqliteCommand-objekt. Se nedan.
SqliteCommand
Ett SqliteCommand är ett objekt som motsvarar ett SQLite-kommando. Det har ett textinnehåll i form av själva kommandot, och kan köras på flera olika sätt. Ett SQLiteCommand är alltid kopplat till en SqliteConnection; kommandot skickas alltid till den SQLite-databasen.
commandText
commandText är kommandotexten som ska köras mot databasen.
ExecuteNonQuery()
Kör kommandot. Perfekt för t.ex kommandon som lägger in ny information i en tabell. Returnerar en integer som beskriver hur många rader som ändrats, tagits bort eller lagts till.
ExecuteScalar()
Kör kommandot, och returnerar resultatet – men bara första cellen (första kolumnen i första raden). Resultatet returneras som ett object, som dessutom kan vara null ifall operationen inte returnerade något. Med andra ord behövs både casting och något sätt att hantera nullvärden t.ex. via null-coalescing.
ExecuteReader()
Kör kommandot, och returnerar en SQLiteDataReader för att läsa av resultatet. Passar bäst för SELECT-kommandon som returnerar flera rader och/eller kolumner.
SqliteDataReader
Ett SqliteDataReader-objekt används för att läsa av ett resultat från en SQL-operation (ofta ett SELECT-kommando), en rad i taget.
Precis som med SqliteConnection-objekt använder man oftast ett using-block för att se till så att reader-objektet tas bort ordentligt när man är klar med det.
Read()
Flyttar readerns "läshuvud" till nästa rad, om den finns. Om den inte finns, returneras true.
Get?()
Det finns många metoder som börjar med Get – till exempel GetString, GetInt32, GetFloat och GetBoolean. De tar alla emot en integer som parameter, och returnerar datan den nuvarande raden och den kolumn som anges av siffran. De försöker också konvertera (parse) datan till rätt datatyp.
FieldCount
En property som talar om hur många fält (kolumner) resultatet innehåller.
GetName()
Returnerar namnet på en specifik kolumn i resultatet.
Last updated