¿Qué tiene de malo la consulta? o código? [cerrado

Un usuario ingresa en la característica de búsqueda de esta manera * "azul, verde amarillo, rojo rosado, apilar sobre flujo" * Ahora quiero poner esto en una matriz y buscarlo usando el siguiente código,

string[] search = mysearch.Split(',');
List<Result> myresult = new List<Result>();

for (int kk = 1; kk < search.Length; kk++)
  {  


where += " And '%" + search[kk] + "%'";              
    OleDbCommand sqlcmdCommand0 = new OleDbCommand("select Distinct name from table1  where       search like '%" + search[0] + "%' " + where + " order by name", myCon);
     sqlcmdCommand0.CommandType = CommandType.Text;
      OleDbDataReader sda = sqlcmdCommand0.ExecuteReader();

 while(sda.read())
    {
         myresult.name= sda.getString(0);
         Result.add(myresult);
    }
}
return Result;

La consulta Se parece a esto:

select Distinct name from table1 where search like '%blue%' And '%yellow%' And '%Green %' order by name

y se supone que debe verse así:

select Distinct name from table1 where search like '%blue%' And '%yellow Green %' order by name

pero el problema es que separa la cadena después del espacio que no está en la coma, y quiero poner la cadena en la matriz después de las apariciones de coma, no después del espacio entre el carácter.

Respuestas a la pregunta(3)

Su respuesta a la pregunta