Dynamically build SQL " OR " query in c#
===

I am having problem with my asp.net app, in which I am dynamically building SQL query where I am using WHERE clause and adding OR depending on the fields which is entered. here is the scenario.

I have a Four TextBox, out of 2 is DateTime

i would like to search in the database if there is a value in any one text-box and return the results that is bind to a GridView. Now, if there is more than one text-box value then i need to add that as well and build OR in where clause. if there are no values in any one of the text-box then need to return all the results. BUT i am having problem in building the query as i have to go through the if else loop to see if there is any value or null. here is my code.
              
              StringBuilder selectQuery = new StringBuilder();
              disCode = SearchTextCouponCode.Text;
              disName = SearchTextCouponName.Text;
             
              if(StartDate.SelectedDate != null)
                     startDate = StartDate.SelectedDate.ToString("yyyy-MM-dd");
                
              if(EndDate.SelectedDate != null)     
                     endDate = EndDate.SelectedDate.ToString("yyyy-MM-dd");

              
              // here is the main thing where i am getting the error
              if (!string.IsNullOrEmpty(disCode))
              {
                     selectQuery.Append("DISCOUNTCode = '" + disCode + "'");
                    
              }

              if (!string.IsNullOrEmpty(disName))
              {
                     selectQuery.Append(" OR DISCOUNTName = '" + disName + "'");
                   
              }

              if (startDate != "0001-01-01")
              {
                     selectQuery.Append(" OR StartDate = '" + startDate + "'");
                   
              }

              if(endDate != "0001-01-01")
                     selectQuery.Append(" OR EndDate = '" + endDate + "'");
              
              DataSourceDis.SelectParameters["sqlCriteria"].DefaultValue = selectQuery.ToString();
              GridDis.DataBind();

now, when i run the app, and leave the disCode text-box empty, then the query start with OR and gives me the error that incorrect syntax near where ..

please help.