C# och SQLite
Last updated
Was this helpful?
Last updated
Was this helpful?
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 konsolen:
En SqliteConnection är ett objekt som är kopplat till en SQLite-databasfil.
Det är ofta en bra idé att använda ett 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.
Skapar ett nytt SqliteCommand-objekt. Se nedan.
commandText är kommandotexten som ska köras mot databasen.
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.
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.
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.
Flyttar readerns "läshuvud" till nästa rad, om den finns. Om den inte finns, returneras true.
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.
En property som talar om hur många fält (kolumner) resultatet innehåller.
Returnerar namnet på en specifik kolumn i resultatet.
Ett SqliteCommand är ett objekt som motsvarar ett . 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.
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 och något sätt att hantera nullvärden t.ex. via .
Precis som med SqliteConnection-objekt använder man oftast ett för att se till så att reader-objektet tas bort ordentligt när man är klar med det.