Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les paramètres sont utilisés pour se protéger contre les attaques par injection SQL. Au lieu de concaténer l’entrée utilisateur avec des instructions SQL, utilisez des paramètres pour vous assurer que l’entrée n’est jamais traitée comme une valeur littérale et jamais exécutée. Dans SQLite, les paramètres sont généralement autorisés partout où un littéral est autorisé dans les instructions SQL.
Les paramètres peuvent être préfixés par :, @, ou $.
command.CommandText = "INSERT INTO user (name) VALUES ($name)";
command.Parameters.AddWithValue("$name", name);
Pour plus d’informations sur la façon dont les valeurs .NET sont mappées aux valeurs SQLite, consultez les types de données .
Troncation
Utilisez la Size propriété pour tronquer les valeurs TEXT et BLOB.
// Truncate name to 30 characters
command.Parameters.AddWithValue("$name", name).Size = 30;
Autres types
Parfois, vous souhaiterez peut-être utiliser un autre type SQLite. Pour ce faire, définissez la SqliteType propriété.
Vous pouvez utiliser les mappages de types de remplacement suivants. Pour connaître les mappages par défaut, consultez Types de données.
| Valeur | SqliteType | Remarques |
|---|---|---|
| Carboniser | Nombre entier | UTF-16 |
| DateOnly | Réel | Valeur de jour du calendrier julien |
| Date et heure | Réel | Valeur de jour du calendrier julien |
| DateTimeOffset | Réel | Valeur de jour du calendrier julien |
| Guide | Objet blob | |
| TimeOnly | Réel | En jours |
| TimeSpan | Réel | En jours |
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;
Paramètres de sortie
SQLite ne prend pas en charge les paramètres de sortie. Retournez plutôt des valeurs dans les résultats de la requête.