Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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.