Aracılığıyla paylaş


Parametreler

Parametreler SQL ekleme saldırılarına karşı koruma sağlamak için kullanılır. Kullanıcı girişini SQL deyimleriyle birleştirmek yerine, girdinin yalnızca değişmez değer olarak ele alınıp hiçbir zaman yürütülmediğinden emin olmak için parametreleri kullanın. SQLite'te parametrelere genellikle SQL deyimlerinde bir değişmez değere izin verilen her yerde izin verilir.

Parametreler , @veya $ile ön eklenebilir:.

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

.NET değerlerinin SQLite değerlerine nasıl eşlendiği hakkında ayrıntılı bilgi için bkz . Veri türleri .

Kesilme

METNEÇEVİr Size ve BLOB değerlerini kesme özelliğini kullanın.

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

Alternatif türler

Bazen alternatif bir SQLite türü kullanmak isteyebilirsiniz. Özelliğini ayarlayarak SqliteType bunu yapın.

Aşağıdaki alternatif tür eşlemeleri kullanılabilir. Varsayılan eşlemeler için bkz . Veri türleri.

Değer SqliteType Açıklamalar
Char Tamsayı UTF-16
DateOnly Gerçek sayı Jülyen gün değeri
DateTime Gerçek sayı Jülyen gün değeri
DateTimeOffset Gerçek sayı Jülyen gün değeri
GUID Blob
TimeOnly Gerçek sayı Gün olarak
TimeSpan Gerçek sayı Gün olarak
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;

Çıkış parametreleri

SQLite, çıkış parametrelerini desteklemez. Bunun yerine sorgu sonuçlarındaki değerleri döndürür.

Ayrıca bkz.