Возникли проблемы при использовании SelectCommand для выбора значений в базе данных SQL (C#)
Итак, в приложении, которое я создаю, у меня есть команда selectCommand, которая должна читать текст внутри текстового поля одним нажатием кнопки и фильтрует результаты поиска на основе значения.
Выберите команду.
SelectCommand="SELECT (bunch of columns) WHERE members.LastName LIKE '%@Ln%';
Значение @Ln извлекается из кода здесь:
public void searchButtonClick(object sender, EventArgs e)
{
SqlDataSource1.SelectParameters.Clear();
SqlDataSource1.SelectParameters.Add("Ln", inputLastName.Text);
}
Моя цель - выбрать все записи с фамилиями, содержащими все, что было введено в текстовое поле фамилии. Например, я хочу "Мар", "Мартинес" или пустое текстовое поле, чтобы все выбирали кого-то с фамилией Мартинес. Пустое текстовое поле должно выбрать все фамилии.
Но я считаю, что моя проблема заключается в синтаксисе SelectCommand. Я протестировал его без одинарных кавычек и многих других вариантов безрезультатно. Если я оставлю только "WHERE members.LastName LIKE @Ln", он выберет записи, в которых фамилия является точным значением inputLastName.Text, но, как я уже говорил, это не то, что я ищу.:(
Я новичок в кодировании, поэтому, пожалуйста, постарайтесь объяснить как можно яснее, извините, если моя проблема не была сформулирована наилучшим образом. Заранее спасибо!
1 ответ
Не забудьте "@"
в SqlDataSource1.SelectParameters.Add("@Ln",
... и измени свой SelectCommand
чтобы:
SelectCommand="SELECT (bunch of column) WHERE members.LastName LIKE @Ln";
SqlDataSource1.SelectParameters.Add("@Ln", '%' + inputLastName.Text + '%');
так что должно работать.