C # ile bazı SQL sorguları oluşturuyorum. Kodda değişkenler olarak saklanan bazı koşullara bağlı olarak farklılık gösterecektir.
string Query="SELECT * FROM Table1 WHERE 1=1 ";
if (condition1)
Query += "AND Col1=0 ";
if (condition2)
Query += "AND Col2=1 ";
if (condition3)
Query += "AND Col3=2 ";
İşe yarıyor, ancak 1 = 1'i test etmek zarif görünmüyor. Kullanmasaydım, sorguya "nerede" anahtar kelimesinin önceden eklenip eklenmediğini her seferinde hatırlamam ve kontrol etmem gerekirdi.
Daha güzel bir çözüm var mı?
Select 42Aldığımız yüz binlerce sorgu eğlenceli bir keşifti . (eğlenceli olmayan kaynağı bulmaya çalışmaktı)
If I didn't use it, I would have to remember and check every time if "where" keyword was already added or not to the query- Bu yüzden kullanıyorsun 1 = 1. Veritabanı motoru onu yine de optimize eder, bu yüzden çirkin görünse de, sorunu çözmenin en kolay yolu budur.

42 = 42;-)