If you don't know the list of conditions at compile time and it will built at run time, Then you can made a condition with “where 1=1”. and for other conditions that will affect run time, use
and .
- StringBuilder sb = new StringBuilder();
- sb.Append("SELECT * FROM Products"); // Your query
- sb.Append(" WHERE 1=1"); // always true condition
-
- // append query's where clause
-
- if (catID != 0)
- {
- sb.Append(" AND categoryID= {0}", catID);
- }
- if (minPrice > 0)
- {
- sb.Append(" AND itemPrice >= {0}", minPrice);
- }
-
- SqlCommand cmd = new SqlCommand(sb.ToString(), cnn);
- SqlDataReader dr = cmd.ExecuteReader();
- // your code to read data from dr.