#vb.net #visual-studio-2008 #sql-server-2008
#vb.net #visual-studio-2008 #sql-server-2008
Вопрос:
у меня есть текстовое поле, и я хочу найти все слова, начинающиеся с буквы в текстовом поле (например, a)
Я знаю, что должен использовать
"select * from tbl_search where Name like a% "
но это не работает для значений в текстовом поле. например, я написал так:
cmd = New SqlCommand("select * from tbl_search where Name like @value%") 'it gives the runtime error :"Incorrect syntax near '%'."
cmd.Parameters.AddWithValue("@value", TextBox1.Text)
Ответ №1:
Вам нужно написать команду следующим образом (нужно добавить
между @value
и '%'
):
cmd = New SqlCommand("select * from tbl_search where Name like @value '%'")
cmd.Parameters.AddWithValue("@value", TextBox1.Text)
Ответ №2:
Вам нужно заключить свое значение в кавычки:
cmd = New SqlCommand("select * fromt tbl_search where Name like ""@value%""");
VB.NET экранирует двойные кавычки в одну кавычку, так что вы можете поместить символ «» в свои строки.
Комментарии:
1. спасибо, но это не работает, ошибка времени выполнения: «Недопустимое имя столбца’@value%'».
2. Ах, старая проблема @value%. Пропустил это. Попробуйте
"select * fromt tbl_search where Name like '@value' '%'"
3. Вокруг @value не может быть кавычек.