Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los parámetros se usan para protegerse frente a ataques por inyección de código SQL. En lugar de concatenar la entrada de usuario con instrucciones SQL, use parámetros para asegurarse de que la entrada solo se trata como un valor literal y nunca se ejecuta. En SQLite, los parámetros normalmente se permiten en cualquier lugar en que se permita un literal en instrucciones SQL.
Los parámetros se pueden prefijar con :
, @
o $
.
command.CommandText =
@"
INSERT INTO user (name)
VALUES ($name)
";
command.Parameters.AddWithValue("$name", name);
Consulte Tipos de datos para obtener más información sobre cómo se asignan los valores de .NET a los valores de SQLite.
Truncamiento
Use la Size propiedad para truncar los valores TEXT y BLOB.
// Truncate name to 30 characters
command.Parameters.AddWithValue("$name", name).Size = 30;
Tipos alternativos
A veces, es posible que desee usar un tipo de SQLite alternativo. Para ello, establezca la SqliteType propiedad .
Se pueden usar las siguientes asignaciones de tipos alternativos. Para las asignaciones predeterminadas, vea Tipos de datos.
Importancia | SqliteType | Observaciones |
---|---|---|
Carbón | Entero | UTF-16 |
DateOnly | Real | Valor del día juliano |
Fecha y hora | Real | Valor del día juliano |
Desplazamiento de Fecha y Hora | Real | Valor del día juliano |
GUID | Masa amorfa | |
TimeOnly | Real | En días |
TimeSpan | Real | En días |
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 salida
SQLite no admite parámetros de salida. En su lugar, devuelve valores en los resultados de la consulta.