Saya sedang membangun beberapa kueri SQL di C #. Ini akan berbeda tergantung pada beberapa kondisi yang disimpan sebagai variabel dalam kode.
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 ";
Ini berhasil, tetapi pengujian 1 = 1 tampaknya tidak elegan. Jika saya tidak menggunakannya, saya harus mengingat dan memeriksa setiap kali apakah kata kunci "di mana" sudah ditambahkan atau tidak ke kueri.
Apakah ada solusi yang lebih baik?
Select 42pertanyaan yang kami terima. (tidak lucu mencoba melacak sumber)
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- Itulah mengapa Anda menggunakan 1 = 1. Mesin database tetap mengoptimalkannya, jadi meskipun mungkin terlihat jelek, sejauh ini cara termudah untuk menyelesaikan masalah.

42 = 42;-)