Search code examples
c#sqlsql-serversql-like

SQL LIKE expression gives empty result


It seems that using Like requires some exact formatting, which I am not aware of. This is the code:

private void DoFilter()
{
    using (connection = new SqlConnection(connectionString))
    using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Customers WHERE CompanyName = @filter + '%'", connection))
    {
        adapter.SelectCommand.Parameters.AddWithValue("@filter", txtFilter.Text.Trim());

        DataTable TCustomers = new DataTable();
        adapter.Fill(TCustomers);

        lstCustomers.DisplayMember = "CompanyName";
        lstCustomers.ValueMember = "Id";
        lstCustomers.DataSource = TCustomers;

    }
}

The code does not raise any error. It just leaves the ListBox (lstCustomers) empty. (txtFilter is a TextBox, in which the filter string is).


Solution

  • use like operator instead of =

    SELECT * FROM Customers WHERE CompanyName like @filter + '%'"