Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 .
Kısaltma
Metin ve BLOB değerlerini kesmek için Size ö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. SqliteType özelliğini ayarlayarak 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 |
|---|---|---|
| Karakter | Tam sayı | UTF-16 |
| Sadece Tarih | Gerçek | Jülyen gün değeri |
| Tarih ve Saat | Gerçek | Jülyen gün değeri |
| TarihSaatÖtelemesi | Gerçek | Jülyen gün değeri |
| Kılavuz | Damlacık | |
| TimeOnly | Gerçek | Gün olarak |
| Zaman Aralığı | Gerçek | 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.