Ich erstelle eine SQL- Abfrage in C #. Dies hängt von einigen Bedingungen ab, die als Variablen im Code gespeichert sind.
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 ";
Es funktioniert, aber das Testen von 1 = 1 scheint nicht elegant zu sein. Wenn ich es nicht verwenden würde, müsste ich mich jedes Mal daran erinnern und prüfen, ob der Abfrage bereits das Schlüsselwort "where" hinzugefügt wurde oder nicht.
Gibt es eine schönere Lösung?
Select 42Anfragen, die wir erhielten. (nicht amüsant war der Versuch, die Quelle aufzuspüren)
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- Deshalb benutzt du 1 = 1. Das Datenbankmodul optimiert es trotzdem, so dass es zwar hässlich aussieht, aber bei weitem der einfachste Weg ist, das Problem zu lösen.

42 = 42;-)