Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os parâmetros são usados para proteger contra ataques de injeção de SQL. Em vez de concatenar a entrada do usuário com instruções SQL, use parâmetros para garantir que a entrada seja tratada apenas como um valor literal e nunca executada. No SQLite, os parâmetros normalmente são permitidos em qualquer lugar em que um literal é permitido em instruções SQL.
Os parâmetros podem ser prefixados com :, @ou $.
command.CommandText = "INSERT INTO user (name) VALUES ($name)";
command.Parameters.AddWithValue("$name", name);
Consulte os tipos de dados para obter detalhes sobre como os valores do .NET são mapeados para valores SQLite.
Truncagem
Use a propriedade Size para truncar valores TEXT e BLOB.
// Truncate name to 30 characters
command.Parameters.AddWithValue("$name", name).Size = 30;
Tipos alternativos
Às vezes, talvez você queira usar um tipo SQLite alternativo. Faça isso definindo a SqliteType propriedade.
Os mapeamentos de tipo alternativo a seguir podem ser usados. Para os mapeamentos padrão, consulte Tipos de dados.
| Valor | SqliteType | Observações |
|---|---|---|
| Queimar | Número Inteiro | UTF-16 |
| DateOnly | Real | Valor do dia juliano |
| Data e Hora | Real | Valor do dia juliano |
| DateTimeOffset (representa uma data e hora com um desvio em relação ao horário UTC) | Real | Valor do dia juliano |
| GUID | BLOB | |
| TimeOnly | Real | Em dias |
| TimeSpan | Real | Em dias |
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;
Parâmetros de saída
O SQLite não dá suporte a parâmetros de saída. Em vez disso, retorna valores nos resultados da consulta.