Megosztás:


Paraméterek

A paraméterek az SQL-injektálási támadások elleni védelemre szolgálnak. Ahelyett, hogy a felhasználói bemenetet SQL-utasításokkal fűzi össze, paraméterekkel biztosíthatja, hogy a bemenet mindig csak literális értékként legyen kezelve, és soha ne legyen végrehajtva. Az SQLite-ben a paraméterek általában bárhol engedélyezve vannak, ahol az SQL-utasításokban konstans engedélyezett.

A paraméterek meg lehet előzni előtagként a :, @ vagy $ jelekkel.

command.CommandText = "INSERT INTO user (name) VALUES ($name)";
command.Parameters.AddWithValue("$name", name);

A .NET-értékek SQLite-értékekre való leképezésének részleteiért tekintse meg az adattípusokat .

Csonkolás

Size A tulajdonság használatával csonkíthatja a SZÖVEG és BLOB értékeket.

// Truncate name to 30 characters
command.Parameters.AddWithValue("$name", name).Size = 30;

Alternatív típusok

Előfordulhat, hogy alternatív SQLite-típust szeretne használni. Ezt a SqliteType tulajdonság beállításával teheti meg.

A következő alternatív típusleképezések használhatók. Az alapértelmezett leképezésekért lásd az adattípusokat.

Érték SqliteType Megjegyzések
Karakter Egész szám UTF-16
CsakDátum Valós Julián napi érték
Dátum/idő Valós Julián napi érték
IdőpontEltérés (DateTimeOffset) Valós Julián napi érték
Guid Nagy bináris objektum
TimeOnly Valós Néhány napon belül
TimeSpan Valós Néhány napon belül
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;

Kimeneti paraméterek

Az SQLite nem támogatja a kimeneti paramétereket. A lekérdezés eredményében szereplő értékeket adja vissza.

Lásd még