Избегайте одинарных кавычек в LIKE SQl Query в C # коде позади

1

У меня есть запрос, который выглядит так.

SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name LIKE 'Jo%'

Но это не работает на коде С#. Как избежать первой одинарной кавычки после LIKE?

SqlDataAdapter da = new SqlDataAdapter("SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name  LIKE ' + @Search + '%'", cs);
da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text);
Теги:
sqldataadapter

3 ответа

2
Лучший ответ

Просто:

 ...LIKE @Search + '%' ";
2

Ваше выражение должно быть:

"SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name  LIKE @Search"

Затем вы можете изменить значение @Search: value:

da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text + "%");
  • 0
    Это не работает.
  • 0
    двойной '' - это то, как вы избегаете кавычек в sql, а не в C #. Вам не нужно избегать одинарных кавычек в C # (что вы продемонстрировали). Кроме того, @Search не является переменной C #.
Показать ещё 1 комментарий
0

Попробуй это:

"SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name LIKE '@Search%'"

" % Может это испортить, я не уверен. Сначала попробуйте удалить %, и если запрос будет выполнен, добавьте его обратно, чтобы увидеть, что-нибудь сломается.

  • 1
    Нет, она ищет строку, начинающуюся со знака at, затем S, затем e, затем a и т. Д.
  • 0
    @MarcGravell, хотя da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text); следует перезаписать это?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню