Получить все строки, подобные вводимому тексту в текстовом поле

#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 не может быть кавычек.