Фильтр строк C# показывает исключение System.Data.SyntaxErrorException: Синтаксическая ошибка: операнд отсутствует перед оператором Mod.

Это код:

StringBuilder sb = new StringBuilder();

if (documentName.Text.Length > 0)
{
    sb.Append("document_name like '%" + documentName.Text + "%'");
}

if (section.Text.Length > 0)
{
    if (sb.Length > 0)
    {
        sb.Append(" and ");
    }

    sb.Append("section_number like %" + Int32.Parse(section.Text) + "%");
}


(data.DataSource as DataTable).DefaultView.RowFilter = sb.ToString();

Цель:

Я стремлюсь создать панель поиска с несколькими текстовыми полями для фильтрации данных.

Деталь:

Использование текстового поля имени документа само по себе работает нормально... но когда оба объединены или используется раздел... это вызывает у меня эту ошибку:

System.Data.SyntaxErrorException: 'Syntax error: Missing operand before 'Mod' operator.'

1 ответ

Кавычки в выражении

"номер_секции, например%" + Int32.Parse(section.Text) + "%"

отсутствуют (до и после%).

Другие вопросы по тегам