Compartir a través de


Parámetros

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.

Consulte también