Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Parametrar används för att skydda mot SQL-inmatningsattacker. I stället för att sammanfoga användarindata med SQL-instruktioner använder du parametrar för att säkerställa att indata bara behandlas som ett literalvärde och aldrig körs. I SQLite tillåts parametrar vanligtvis var som helst där en literal tillåts i SQL-instruktioner.
Parametrar kan prefixeras med antingen :, @eller $.
command.CommandText = "INSERT INTO user (name) VALUES ($name)";
command.Parameters.AddWithValue("$name", name);
Mer information om hur .NET-värden mappas till SQLite-värden finns i Datatyper .
Avkortning
Använd egenskapen Size för att trunkera TEXT- och BLOB-värden.
// Truncate name to 30 characters
command.Parameters.AddWithValue("$name", name).Size = 30;
Alternativa typer
Ibland kanske du vill använda en alternativ SQLite-typ. Gör detta genom att ange egenskapen SqliteType .
Följande alternativa typmappningar kan användas. Standardmappningar finns i Datatyper.
| Värde | SqliteType | Anmärkningar |
|---|---|---|
| Öring | Heltal | UTF-16 |
| Endast datum | Verklig | Juliansk dagvärde |
| Datum och tid | Verklig | Juliansk dagvärde |
| DateTimeOffset (tidpunkt med tidsförskjutning) | Verklig | Juliansk dagvärde |
| Guide | Blobb | |
| TimeOnly | Verklig | I dagar |
| Tidsintervall | Verklig | I dagar |
command.CommandText =
@"
SELECT count(*)
FROM task
WHERE finished IS NULL
AND julianday('now') - julianday(started) > $expected
";
// Convert TimeSpan to days instead of text
command.Parameters.AddWithValue("$expected", expected).SqliteType = SqliteType.Real;
Utdataparametrar
SQLite stöder inte utdataparametrar. Returnera värden i frågeresultatet i stället.