private void btnConsultar_Click(object sender, EventArgs e) { // las condiciones de los filtros se puede pasar a traves de una coleccion de claves y valores (Dictionary) // o bien a través de una cadena de condiciones String sqlcondiciones; sqlcondiciones = ""; if (!string.IsNullOrEmpty(txtNombre.Text)) { var cajanombre = txtNombre.Text; // SELECT * FROM Marcas m WHERE m.descripcion LIKE '%DI%' sqlcondiciones += " AND ( m.descripcion LIKE " + "'" + "%" + cajanombre + "%" + "'" + ") "; } //sin usar parametros (concatenando condiciones) IList <Marca> listadoMarcas = marcaService.ConsultarMarcasConFiltrosCondiciones(sqlcondiciones); //Asigno a la grilla la lista de objetos bug dgvMarcas.DataSource = listadoMarcas; if (dgvMarcas.Rows.Count == 0) { MessageBox.Show("No se encontraron coincidencias para el/los filtros ingresados", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } }