Autonumber - это некоторая форма числа (я так думаю), поэтому вы не можете использовать ключевое слово LIKE.Вы должны найти точное совпадение (или больше, чем, меньше и т. Д.).Вы также не можете заключить число в одинарные кавычки, поэтому их нужно будет удалить.
Я бы переключил ваш код на что-то вроде этого:
.
.
.
if (txtID.Text.Length > 0)
{
int id;
if (Int32.TryParse(txtID.Text, out id))
{
filter = "ID = " + id.ToString();
}
}
.
.
.
Кроме того, ваш кодпохоже, что он может не работать должным образом, если у вас есть несколько текстовых полей, заполненных данными (потому что вы не используете иначе, если).Независимо от того, какое текстовое поле вы выберете последним, оно будет использоваться в качестве фильтра, потому что вы каждый раз переназначаете переменную фильтра.И если вы используете фильтр текста непосредственно из текстовых полей, вы открываете себя для возможного SQL-инъекции .Вам, вероятно, стоит рассмотреть использование параметризованных запросов .